SoFunction
Updated on 2025-04-04

Compatible with floating multiple sets of image advertising codes with close buttons in major browsers


<script type="text/javascript" language="javascript">
function addEvent(obj, evtType, func, cap) {
cap = cap || false;
if () {
(evtType, func, cap);
return true;
} else if () {
if (cap) {
();
return true;
} else {
return ("on" + evtType, func);
}
} else {
return false;
}
}
function getPageScroll() {
var xScroll, yScroll;
if () {
xScroll = ;
} else if ( && ) {
xScroll = ;
} else if () {
xScroll = ;
}
if () {
yScroll = ;
} else if ( && ) {
yScroll = ;
} else if () {
yScroll = ;
}
arrayPageScroll = new Array(xScroll, yScroll);
return arrayPageScroll;
}
function GetPageSize() {
var xScroll, yScroll;
if ( && ) {
xScroll = ;
yScroll = + ;
} else if ( > ) {
xScroll = ;
yScroll = ;
} else {
xScroll = ;
yScroll = ;
}
var windowWidth, windowHeight;
if () {
windowWidth = ;
windowHeight = ;
} else if ( && ) {
windowWidth = ;
windowHeight = ;
} else if () {
windowWidth = ;
windowHeight = ;
}
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();
= false;
= 0;
= 0;
= 0;
= 0;
= function () {
var winsize = GetPageSize();
= winsize[2];
= winsize[3];
();
}
= function () {
var winscroll = getPageScroll();
= winscroll[0];
= winscroll[1];
}
addEvent(window, "resize", );
addEvent(window, "scroll", );
function AdMove(id) {
if (!) {
();
= true;
}
var obj = (id);
= "absolute";
var W = - ;
var H = - ;
var x = W * (), y = H * ();
var rad = (() + 1) * / 6;
var kx = (rad), ky = (rad);
var dirx = (() < 0.5 ? 1 : -1), diry = (() < 0.5 ? 1 : -1);
var step = 1;
var interval;
= function (vx, vy) { x = vx; y = vy; }
= function (vx, vy) { dirx = vx; diry = vy; }
= function () {
= (x + ) + "px";
= (y + ) + "px";
rad = (() + 1) * / 6;
W = - ;
H = - ;
x = x + step * kx * dirx;
if (x < 0) { dirx = 1; x = 0; kx = (rad); ky = (rad); }
if (x > W) { dirx = -1; x = W; kx = (rad); ky = (rad); }
y = y + step * ky * diry;
if (y < 0) { diry = 1; y = 0; kx = (rad); ky = (rad); }
if (y > H) { diry = -1; y = H; kx = (rad); ky = (rad); }
}
= function () {
var delay = 10;
interval = setInterval(, delay);
= function () { clearInterval(interval); }
= function () { interval = setInterval(, delay); }
}
}
</script>

<script type="text/javascript" language="javascript">

    var ad2 = new AdMove("ad2");
    ();
//Multiple groups of floating

</script>