• 广告悬浮框


    此代码可以实现,但不是很好,IE浏览器下是显示在右边(正确),火狐和谷歌浏览器显示在左边,定位失效。 还有无法随浏览器下拉而移动。
    <script type="text/javascript">
    
    var delta=0.5;
    var collection;
    var closeB=false;
    function floaters() {
       this.items = [];
       this.addItem = function(id,x,y,content)
       {
          document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute;   80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
         
          var newItem     = {};
          newItem.object    = document.getElementById(id);
          newItem.x     = x;
          newItem.y     = y;
          this.items[this.items.length]   = newItem;
       }
       this.play = function()
       {
          collection     = this.items
          setInterval('play()',30);
        }
       }
       function play()
       {
        if(screen.width<=800 || closeB)
        {
         for(var i=0;i<collection.length;i++)
         {
          collection[i].object.style.display = 'none';
         }
         return;
        }
        for(var i=0;i<collection.length;i++)
        {
         var followObj   = collection[i].object;
         var followObj_x   = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
         var followObj_y   = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);     if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
          var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
          dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
          followObj.style.left=followObj.offsetLeft+dx;
          }     if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {
          var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;
          dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
          followObj.style.top=followObj.offsetTop+dy;
          }
         followObj.style.display = '';
        }
       }
       function closeBanner()
       {
        closeB=true;
        return;
       } 
       var theFloaters   = new floaters();
    //
    
    theFloaters.addItem('followDiv1','document.body.clientWidth-115',0,'<a onClick="closeBanner();" href=http://www.invipshop.com/ target=_blank><img src=images/Ad_1.jpg width=112 height=224 border=0></a><br><img src=images/close.gif onClick="closeBanner();">');
    theFloaters.play(); 
    </script>

    ------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    开源界的 5 大开源许可协议
    如何选择开源许可证?
    Ubuntu下Qt编译报错“cannot find -lGL”的解决方案
    How to Cracked Sublime Text 3 Build 3065 in Ubuntu (Linux)
    一个C语言宏展开问题
    C语言预处理运算符
    Linux线程编程之信号处理
    Linux终端多用户通信实用命令
    守护进程接收终端输入的一种变通性方法(二)
    通过printf设置Linux终端输出的颜色和显示方式
  • 原文地址:https://www.cnblogs.com/zhiqixue/p/2720974.html
Copyright © 2020-2023  润新知