锘縡unction getMySrc() {
var scriptSrc = document.getElementsByTagName('script')[document.getElementsByTagName('script').length - 1].src;
return scriptSrc;
}
var url = getMySrc();
$(function () {
$.ajax({
url: "/SiteAd/FloatImg",
type: "POST",
dataType: "json",
data: {count: 4 },
success: function (result) {
if (result.code==0) {
$.each(result.data, function (i) {
ShowAd(result.data[i]);
});
}
},
error: function (e) {
}
});
});
function ShowAd(ad) {
var img = "";
var imgStyle = "";
if (ad.imagewidth > 0 && ad.imageheight > 0) {
imgStyle = "width:" + ad.imagewidth + "px;height:" + ad.imageheight + "px;max-width:initial;max-height:initial;";
}
else {
imgStyle = "max-width:initial;max-height:initial;";
}
var _content;
if (ad.customtext) {
var _contentStyle = "display:inline-block;font-size:16px;color:red;";
if (ad.imageheight > 0) {
_contentStyle += "padding:" + ad.imageheight / 2 + "px 0;";
} else {
_contentStyle += "padding:23px 0;";
}
if (ad.imagewidth > 0) {
_contentStyle += "width:" + ad.imagewidth + "px;";
} else {
_contentStyle += "width:300px;";
}
_content = '
';
}
else {
_content = '';
}
if (ad.link != "" && ad.links != "javascript:;") {
img = '' + _content + '';
}
else {
img = _content;
}
if (ad.fixed == 0) {//婕傛诞
var addom = $('');
addom.append('');
addom.find(".ad_close").click(function () {
addom.remove();
});
$("body").append(addom);
var runad = new AdMove(ad.id);
runad.Run();
}
else {
var style = "position: fixed;";
if (ad.pos == 0) {
style += "top:" + ad.offsety + "px;left:" + ad.offsetx + "px;";
}
else if (ad.pos == 1) {
style += "top:" + ad.offsety + "px;right:" + ad.offsetx + "px;";
}
else if (ad.pos == 2) {
style += "bottom:" + ad.offsety + "px;right:" + ad.offsetx + "px;";
}
else {
style += "bottom:" + ad.offsety + "px;left:" + ad.offsetx + "px;";
}
var div = $('');
div.find(".ad_close").click(function () {
div.remove();
});
$("body").append(div);
}
}
function getQueryString(name, url) {
var query = url.split("?")[1];
var queryArr = query.split("&");
var result = "";
//queryArr.forEach(function (item) {
// var obj = {};
// var value = item.split("=")[1];
// var key = item.split("=")[0];
// if (key == name) {
// result = value;
// }
//});
$.each(queryArr, function (index,item) {
var obj = {};
var value = item.split("=")[1];
var key = item.split("=")[0];
if (key == name) {
result = value;
}
});
return result;
}
function addEvent(obj, evtType, func, cap) {
cap = cap || false;
if (obj.addEventListener) {
obj.addEventListener(evtType, func, cap);
return true;
} else if (obj.attachEvent) {
if (cap) {
obj.setCapture();
return true;
} else {
return obj.attachEvent("on" + evtType, func);
}
} else {
return false;
}
}
function getPageScroll() {
var xScroll, yScroll;
if (self.pageXOffset) {
xScroll = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollLeft) {
xScroll = document.documentElement.scrollLeft;
} else if (document.body) {
xScroll = document.body.scrollLeft;
}
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop) {
yScroll = document.documentElement.scrollTop;
} else if (document.body) {
yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array(xScroll, yScroll);
return arrayPageScroll;
}
function GetPageSize() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight) {
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else {
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) {
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) {
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
if (yScroll < windowHeight) {
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
if (xScroll < windowWidth) {
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
return arrayPageSize;
}
var AdMoveConfig = new Object();
AdMoveConfig.IsInitialized = false;
AdMoveConfig.ScrollX = 0;
AdMoveConfig.ScrollY = 0;
AdMoveConfig.MoveWidth = 0;
AdMoveConfig.MoveHeight = 0;
AdMoveConfig.Resize = function () {
var winsize = GetPageSize();
AdMoveConfig.MoveWidth = winsize[2];
AdMoveConfig.MoveHeight = winsize[3];
AdMoveConfig.Scroll();
}
AdMoveConfig.Scroll = function () {
var winscroll = getPageScroll();
AdMoveConfig.ScrollX = winscroll[0];
AdMoveConfig.ScrollY = winscroll[1];
}
addEvent(window, "resize", AdMoveConfig.Resize);
addEvent(window, "scroll", AdMoveConfig.Scroll);
function AdMove(id) {
if (!AdMoveConfig.IsInitialized) {
AdMoveConfig.Resize();
AdMoveConfig.IsInitialized = true;
}
var obj = document.getElementById(id);
obj.style.position = "absolute";
var W = AdMoveConfig.MoveWidth - obj.offsetWidth;
var H = AdMoveConfig.MoveHeight - obj.offsetHeight;
var x = W * Math.random(), y = H * Math.random();
var rad = (Math.random() + 1) * Math.PI / 6;
var kx = Math.sin(rad), ky = Math.cos(rad);
var dirx = (Math.random() < 0.5 ? 1 : -1), diry = (Math.random() < 0.5 ? 1 : -1);
var step = 1;
var interval;
this.SetLocation = function (vx, vy) { x = vx; y = vy; }
this.SetDirection = function (vx, vy) { dirx = vx; diry = vy; }
obj.CustomMethod = function () {
obj.style.left = (x + AdMoveConfig.ScrollX) + "px";
obj.style.top = (y + AdMoveConfig.ScrollY) + "px";
rad = (Math.random() + 1) * Math.PI / 6;
W = AdMoveConfig.MoveWidth - obj.offsetWidth;
H = AdMoveConfig.MoveHeight - obj.offsetHeight;
x = x + step * kx * dirx;
if (x < 0) { dirx = 1; x = 0; kx = Math.sin(rad); ky = Math.cos(rad); }
if (x > W) { dirx = -1; x = W; kx = Math.sin(rad); ky = Math.cos(rad); }
y = y + step * ky * diry;
if (y < 0) { diry = 1; y = 0; kx = Math.sin(rad); ky = Math.cos(rad); }
if (y > H) { diry = -1; y = H; kx = Math.sin(rad); ky = Math.cos(rad); }
}
this.Run = function () {
var delay = 10;
interval = setInterval(obj.CustomMethod, delay);
obj.onmouseover = function () { clearInterval(interval); }
obj.onmouseout = function () { interval = setInterval(obj.CustomMethod, delay); }
}
}