zoukankan      html  css  js  c++  java
  • JavaScript浮动广告代码,容纯DIV/CSS对联漂浮广告代码,兼容性非常好的js右下角与漂浮广告代码

    基于JavaScript代码实现随机漂浮图片广告,javascript图片广告

    在网上有很多这样的代码,不过未必符合W3C标准,因为在头部加上<!DOCTYPE html>类似标签之后,漂浮效果就会失效,下面分享一个符合标准的漂浮代码,使需要的朋友免去大量改造代码的繁琐。

    代码一:

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=" utf-8">
    <meta name="author" content="http://www.softwhy.com/" />
    <title>漂浮广告代码</title>
    <style type="text/css">
    #thediv
    {
     z-index:100; 
     position:absolute; 
     top:43px; 
     left:2px;
     height:100px;
     100px; 
     background-color:red;
    }
    </style>
    <script type="text/javascript"> 
    var xPos=300; 
    var yPos=200; 
    var step=1; 
    var delay=8; 
    var height=0; 
    var Hoffset=0; 
    var Woffset=0; 
    var yon=0; 
    var xon=0; 
    var pause=true; 
    var interval; 
    function changePos() 
    { 
     width=document.documentElement.clientWidth; 
     height=document.documentElement.clientHeight; 
     Hoffset=thediv.offsetHeight; 
     Woffset=thediv.offsetWidth; 
     thediv.style.left=(xPos+document.body.scrollLeft+document.documentElement.scrollLeft)+"px"; 
     thediv.style.top=(yPos+document.body.scrollTop+document.documentElement.scrollTop)+"px"; 
     if(yon) 
     {
      yPos=yPos+step;
     } 
     else 
     {
      yPos=yPos-step;
     } 
     if(yPos<0) 
     {
      yon=1;
      yPos=0;
     } 
     if(yPos>=(height-Hoffset)) 
     {
      yon=0;
      yPos=(height - Hoffset);
     } 
     if(xon) 
     {
      xPos=xPos + step;
     } 
     else 
     {
      xPos=xPos - step;
     } 
     if(xPos < 0) 
     {
      xon = 1;
      xPos = 0;
     } 
     if(xPos >= (width - Woffset)) 
     {
      xon = 0;
      xPos = (width - Woffset); 
     } 
    } 
    function start() 
    { 
     thediv.visibility="visible"; 
     interval=setInterval('changePos()',delay); 
    } 
    function pause_resume() 
    { 
     if(pause) 
     { 
      clearInterval(interval); 
      pause = false;
     } 
     else 
     { 
      interval = setInterval(changePos,delay); 
      pause = true; 
     } 
    }
    window.onload=function()
    {
     thediv.style.top=yPos; 
     start(); 
    }
    </script> 
    </head> 
    <body> 
    <div id="thediv"></div> 
    </body> 
    </html> 

    以上代码实现了我们的要求,红色div块能够能够在网页中随机漂浮,并且兼容各个浏览器。代码的实现过程这里就不多介绍了,如有任何问题可以跟帖留言。

    代码二:JS随机漂浮广告代码具体实例

    代码如下:

    <!--随机漂浮广告开始-->
    <div id="float" style="position:absolute; z-index:3;(我建议大家把这里设为100,这样浮动图就不会被遮住了) left: 512px;  83px; top: 9px; height: 53px;">
       <img src="piaofu.gif" width="100" height="50"> </div>
    <script type="text/javascript">
      <!--随机漂浮广告 -->
      var xPos=0,yPos=0;//x,y轴坐标
      var xon=0;//图片在x轴移动方向
      var yon=0;//图片在y轴移动方向
      var step=1;   //移动距离
      var img=document.getElementByIdx_x("float");//图片层
      function floatP()
      {
       var width=document.body.clientWidth;//浏览器宽度
       var height=document.body.clientHeight;//浏览器高度
       var Hoffset=img.offsetHeight;//图片高度
       var Woffset=img.offsetWidth;//图片宽度
       img.style.left=xPos+document.body.scrollLeft;//图片距离浏览器左侧位置
       img.style.top=yPos+document.body.scrollTop;//图片距离浏览器顶端位置
       if(yon==0){
       yPos=yPos+step;//图片在y轴方向上下移动
       }else{
       yPos=yPos-step;
       }
       if(yPos<0){//飘到顶端,沿y轴向下移动
       yon=0;
       yPos=0;
       }
       if(yPos>=(height-Hoffset)){//飘到低端,沿y轴向上移动
       yon=1;
       yPos=(height-Hoffset);
       }
       if(xon==0){//x轴向右移动
       xPos=xPos+step;
       }else{
       xPos=xPos-step;//x轴向左移动
       }
       if(xPos<0){//飘到左侧时沿x轴向右移动
       xon=0;
       xPos=0;
       }
       if(xPos>=(width-Woffset)){//飘到右侧时沿x轴向左移动
       xon=1;
       xPos=(width-Woffset);
       }
       setTimeout("floatP()",30);//定时调用。
      }
      window.onload=floatP();
    </script>

     代码如下:

    <script>
    var x = 50,y = 60 //浮动层的初始位置,分别对应层的初始X坐标和Y坐标
    var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上
    var step = 1 //层移动的步长,值越大移动速度越快
    var delay = 10 //层移动的时间间隔,单位为毫秒,值越小移动速度越快
    var obj=document.getElementByIdx_x("float") //捕获id为ad的层作为漂浮目标
    function floatAD() {
    var L=T=0 //层移动范围的左边界(L)和上边界(T)坐标
    var R= document.body.clientWidth-obj.offsetWidth //层移动的右边界
    var B = document.body.clientHeight-obj.offsetHeight //层移动的下边界
    obj.style.left = x + document.body.scrollLeft //更新层的X坐标,实现X轴方向上的运动;document.body.scrollLeft为文档区域的滚动条向右拉的距离,以保证在滚动条右拉时层仍在可见范围内
    obj.style.top = y + document.body.scrollTop //更新层的Y坐标,实现Y轴方向上的运动;document.body.scrollTop为文档区域的滚动条向下拉的距离,以保证在滚动条下拉时层仍在可见范围内
    x = x + step*(xin?1:-1) //通过判断层的范围决定层在X轴上的运动方向
    if (x < L) { xin = true; x = L} //层超出左边界时的处理
    if (x > R){ xin = false; x = R} //层超出右边界时的处理
    y = y + step*(yin?1:-1) //通过判断层的范围决定层在Y轴上的运动方向
    if (y < T) { yin = true; y = T } //层超出上边界时的处理
    if (y > B) { yin = false; y = B } //层超出下边界时的处理
    }
    var itl= setInterval("floatAD()", delay) //每delay秒执行一次floatAD函数
    obj.onmouseover=function(){clearInterval(itl)} //层在鼠标移上时清除上面的间隔事件,实现层在的鼠标移上时停止运动的效果
    obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //层在鼠标移开时开始间隔事件,实现层在的鼠标移开时继续运动的效果
    </script>

    帮客之家友情提醒大家需要注意事项:

    在网页中插入Flash和浮动广告,你会发现在浮动广告浮到Flash处时会在下面,我们如何解决这个问题呢,其它很简单

    在flash代码的位置加入下面语句就可以了

    <param name="wmode" value="opaque">

    例:

    如果下面是flash所在位置的代码:

    代码如下:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="780" height="165">
    <param name="movie" value="banner1.swf">
    <param name="quality" value="high">
    <param name="menu" value="false">
    <param name="wmode" value="opaque"><!--主要是这句-->
    <embed src="banner1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="165"></embed>
    </object>

    本文实例为大家分享javascript实现全屏漂浮广告,供大家参考,具体内容如下

    主要使用方法

    网页可见区域宽:document.body.clientWidth;
    网页可见区域高:document.body.clientHeight;

    网页可见区域宽:document.body.offsetWidth (包括边线的宽);
    网页可见区域高:document.body.offsetHeight (包括边线的宽); 

    setInterval

    setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。可以使用本动作更新来自数据库的变量或更新时间显示。

    setInterval动作的语法格式如下:

     setInterval(function,interval[,arg1,arg2,......argn])
       setInterval(object,methodName,interval[,arg1,arg2,.....argn])
    

          第一种格式是标准动作面板中setInterval函数的默认语法,第二种格式是在专家模式动作中使用的方法。
          参数function是一个函数名或者一个对匿名函数的引用。
          object参数指定从Object对象派生的对象。methodName制定object参数中要调用的方法。
          interval制定对function或methodName调用两次之间的时间,单位是毫秒。后面的arg1等是可选的参数,用于制定传递给function或是methodName的参数。
          setInterval它设置的时间间隔小于动画帧速(如每秒10帧,相当于100毫秒),则按照尽可能接近interval的时间间隔调用函数。而且必 须使用updateAfterEvent动作来确保以足够的频率刷新屏幕。如果interval大于动画帧速,则只用在每次播放头进入某一帧是才调用,以 减小每次刷新屏幕的影响。

    clearInterval

    clearInterval动作的作用是清除对setInterval函数的调用

    它的语法格式如下:
          clearInterval(intervalid);   //intervalid是调用setInterval函数后返回的对象。 

    广告移动效果 实例

    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>简单JS动画实例 广告移动效果</title>
      </head>
      <body>
        <div id="one" style=" position:absolute; left:0; top:0; height:100px; height:100px; ">
          移动广告
        </div>
     
        <script type="text/javascript">
          var x=0;    //对象X轴位置
          var y=0;    //对象Y轴位置
          var xs = 10;  //对象X轴移动速度
          var ys = 10;  //对象Y轴移动速度
     
          var one = document.getElementById('one'); 
     
          function move(){
            x += xs; 
            y += ys; 
            one.style.left = x; 
            one.style.top = y; 
            if (x > document.body.clientWidth - one.offsetWidth-20 || x<0) {
              xs = -1*xs;     //速度取反
            }
     
            if (y > document.body.clientHeight - one.offsetHeight-20 || y<0){
              ys = -1*ys; 
            }
          }
          var obj = setInterval('move()', 100); 
     
          one.onmouseover = function(){  //
            clearInterval(obj); 
          }
     
          one.onmouseout = function (){
            obj = setInterval('move()', 100); 
          }
        </script>
      </body>
    </html>
    

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    大衣哥 年度 王小源 帅总 囧囧丸 天佑 流氓三金 毕加索 王冕 风小筝 利哥 天佑 天佑 沈曼 资料

  • 相关阅读:
    2013年2月最后一周
    linux虚拟机与winodows共享文件夹linux安装VMware tools
    汇编语言 手记8
    汇编语言 手记9
    虚拟机vmware与本地磁盘共享方法
    生活里多少会有些迷茫
    《恋爱厚黑学》杨冰阳
    2012年读书目录
    2013年2月第2个周末
    JBOSSJNDI日常
  • 原文地址:https://www.cnblogs.com/icelab/p/6224157.html
Copyright © 2011-2022 走看看