MAGgogo

MAG磁力站快速切换

目前为 2015-05-21 提交的版本。查看 最新版本

// ==UserScript==
// @name           MAGgogo
// @description    MAG磁力站快速切换
// @include        http://zydh123.net*
// @include        http://cili001.com/*
// @icon           http://imgsrc.baidu.com/forum/pic/item/6fd108fb43166d229cb84fac452309f79152d2e2.png
// @author         congxz6688
// @version        2015.5.21.0
// @grant          none
// @namespace https://greasyfork.org/users/39
// ==/UserScript==


//此处供用户添加美剧的名称
//中英文名皆可,英文单词之间别用空格用小写的点,每个剧名都要用小写的双引号括起来,相互之间用小写的逗号隔开
var addByUser = ["iZombie", "神盾局特工", "Forever", "错配搭档", "劳拉之谜", "Grimm", "12.Monkeys", "天蝎", "疑犯追踪", "妙女神探", "罪恶黑名单", "灵书妙探", "Elementary", "行尸走肉", "火枪手", "丧心病探"];

/**********************以下部分不要随意修改**********************/

function addStyle(css) {
	document.head.appendChild(document.createElement("style")).textContent = css;
}

var signCSS = "";
signCSS += ".useColor{color:#000000;} .gogoTd{line-height:22px; padding:0px 8px;} .gogo{text-decoration:none} .gogo:hover{text-decoration:underline}";
signCSS += "#floatGogo{border:1px solid grey; z-index:999; padding:8px 6px; background-color:white; color: blue;}";
signCSS += "#MAG_gogo{cursor:pointer; color:#000000; background_color:grey; height:14px; width:16px; padding:1px 3px 9px 5px; position:fixed; top:200px; left:2px; z-index:99999; border: solid 1px #000000;}"
addStyle(signCSS);

//函数 绝对定位
function getElementLeft(element) {
	var actualLeft = element.offsetLeft;
	var current = element.offsetParent;
	while (current !== null) {
		actualLeft += current.offsetLeft;
		current = current.offsetParent;
	}
	return actualLeft;
}
//函数 绝对定位
function getElementTop(element) {
	var actualTop = element.offsetTop;
	var current = element.offsetParent;
	while (current !== null) {
		actualTop += current.offsetTop;
		current = current.offsetParent;
	}
	return actualTop;
}
var Tds1 = [];
//建表函数
function creaseTable(UrlLength) {
	Tds1 = [];
	cons = 2;
	var tablepp = document.createElement("table");
	tablepp.setAttribute("width", "100%");
	var trs = [];
	for (ly = 0; ly < Math.ceil(UrlLength / cons); ly++) {
		var tr = document.createElement("tr");
		mmd = trs.push(tr);
		tablepp.appendChild(tr);
	}
	for (ls = 0; ls < UrlLength; ls++) {
		var td = document.createElement("td")
			td.setAttribute("class", "gogoTd");
		wq = Tds1.push(td);
		trs[Math.floor(ls / cons)].appendChild(td);
	}
	return tablepp
}

//悬浮列表窗创建函数
function openGogoList(e) {
	if (!document.getElementById("floatGogo")) {
		if (e.target.id == "MAG_gogo") {
			var jjue = e.target;
			var thisTop = getElementTop(jjue) + 25;
		}
		var thisLeft = getElementLeft(jjue);
		addStyle("#floatGogo{position:" + ((e.target.id == "MAG_gogo") ? "fixed" : "absolute") + "; left:" + thisLeft + "px; top:" + thisTop + "px}");
		var floatGogo = document.createElement("div");
		floatGogo.id = "floatGogo";
		var fTable = creaseTable(addByUser.length);
		floatGogo.appendChild(fTable);
		if (addByUser.length > 0) {
			for (vv = 0; vv < addByUser.length; vv++) {
				var anch = document.createElement("a");
				anch.href = "http://" + window.location.host + "/?topic_title3=" + addByUser[vv];
				anch.title = addByUser[vv];
				anch.className = "gogo";
				anch.target = "_blank";
				anch.innerHTML = '<fon class="useColor">' + addByUser[vv] + '</fon>';
				Tds1[vv].appendChild(anch);
			}
		}
		floatGogo.addEventListener("mouseleave", closeGogoList, false)
		document.body.appendChild(floatGogo);
	}
}
function closeGogoList() {
	document.getElementById("floatGogo").parentNode.removeChild(document.getElementById("floatGogo"));
}

var gogoDiv = document.createElement("div");
gogoDiv.innerHTML = "go";
gogoDiv.id = "MAG_gogo";
gogoDiv.addEventListener("mouseover", openGogoList, false);
gogoDiv.addEventListener("click", function () {
	window.location = "http://" + window.location.host;
}, false);
document.body.appendChild(gogoDiv);

if (document.querySelectorAll(".pages>a")) {
	var allAnchs = document.querySelectorAll(".pages>a");
	for (var i = 0; i < allAnchs.length; i++) {
		if (window.location.href.indexOf("&p=") == -1) {
			allAnchs[i].href = window.location.href + "&p=" + allAnchs[i].href.match(/\/p\/(\d+)/)[1];
		} else {
			allAnchs[i].href = window.location.href.replace(/&p=\d+/, "&p=" + allAnchs[i].href.match(/\/p\/(\d+)/)[1]);
		}
	}
}