posts - 495,comments - 227,trackbacks - 0
//公共脚本文件 main.js
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;
}
//广告脚本文件 AdMove.js
/*

例子
<div id="Div2">
    ***** content ******
</div>
var ad=new AdMove("Div2");
ad.Run();
*/
////////////////////////////////////////////////////////
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);
        };
    };
    
this.Stop = function () {
        obj.onmouseover 
= function () {
            clearInterval(interval);
        };
        obj.onmouseout 
= function () {
            clearInterval(interval);
        };
    };
}

posted on 2010-06-18 10:47 SIMONE 阅读(494) 评论(0)  编辑  收藏 所属分类: JavaScript

只有注册用户登录后才能发表评论。


网站导航: