zoukankan      html  css  js  c++  java
  • 简单JS动画实例 广告移动效果

    主要使用方法

    网页可见区域宽: 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="background-color:red;  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>
    

     

     

  • 相关阅读:
    C++的预处理(Preprocess)
    【转】深入分析Sleep(0)与Sleep(1)的区别
    【转】两个算法题,感觉挺有意思
    【转】求一个类的sizeof应考虑的问题
    const关键字总结
    C++11各编译器支持情况对比
    【转】C# 创建window服务
    关于C++中char型数组、指针及strcpy函数的细节观察
    用过的shell命令——持续更新
    初试rails 3.1
  • 原文地址:https://www.cnblogs.com/ybbqg/p/2540364.html
Copyright © 2011-2022 走看看