• 不错的漂浮广告代码2


    又一漂浮广告代码,图片会在屏幕中不断游动,且总能保持在屏幕中,测试了一下,应该可在任何支持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;
            }
            //脚本: AdMove.js
            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); }
                }
            }
    
      var myhtml="<div id="pagefloatPic" style=" 110px; height: 72px; Z-INDEX:999999">";
          myhtml+="<a href="打开的页面url" target="_blank">";
    myhtml+="<img src="图片url" border="0" style=" 150; height:80" />
    </a><table width='150' bgcolor='#CCCCCC' border='0' cellpadding='0' cellspacing='0'><tr><td bgcolor=#CCCCCC align=right height=18 style='font-size:12px;'><a href=# onclick='HiddenAD()'>关闭</a></td></tr></table>";
          myhtml+="</div>";
          document.write(myhtml);
          var pagead1 = new AdMove("pagefloatPic
              pagead1.Run();
     
    function HiddenAD()
    {
       document.getElementById("pagefloatPic").style.display="none";
    }
    

      如果,需要该代码的Js文件,可以直接下载,然后在网页的Html源代码中使用

    <script type='text/javascript' src='你的js文件url'></script>调用。

  • 相关阅读:
    C# WPF之Material Design自定义颜色
    C# WPF从RIOT API获取数据(RIOT代表作品《英雄联盟》)
    C# WPF聊天界面(3/3)
    C# WPF简况(2/3)
    C# WPF联系人列表(1/3)
    使用SignalR从服务端主动推送警报日志到各种终端(桌面、移动、网页)
    为什么Node.JS会受到青睐?
    2017级面向对象程序设计——团队作业1
    2017级面向对象程序设计 作业三
    如果抽不出时间写博客怎么办
  • 原文地址:https://www.cnblogs.com/akilis/p/2224887.html
Copyright © 2020-2023  润新知