zoukankan      html  css  js  c++  java
  • 可以多个广告浮动的页面

    <body>
        <div id="ad2" style="Z-INDEX: 5; position: relative">
            <a href="#"  >
                <img src="/btn1.png" width="275" height="210" border="0">
            </a>
            <br>
          <%--  <a href="#" onclick="document.getElementById('ad2').style.display='none'">
                <img border="0" src="/btn1.png" /></a>--%>
        </div>
        <script type="text/javascript" language="javascript">
            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); }
                }
            }
        </script>
        <script type="text/javascript" language="javascript">
            var ad2 = new AdMove("ad2");
            ad2.Run();
            //多组漂浮
    
        </script>
    </body>
  • 相关阅读:
    AtCoder Grand Contest 015 题解
    AtCoder Grand Contest 014 题解
    AtCoder Grand Contest 013 题解
    AtCoder Grand Contest 012 题解
    AtCoder Grand Contest 011 题解
    AtCoder Grand Contest 010 题解
    AtCoder Grand Contest 009 题解
    NOIP2017 Day2 题解
    博客园主题备份
    多项式全家桶
  • 原文地址:https://www.cnblogs.com/sll-fuling/p/5012742.html
Copyright © 2011-2022 走看看