亲爱的老师 我还是发现了个问题 当我想看完视频后自己写的时候遇到了写问题 当我想解决问题的时候我不得不回头来看视频 而且不停的快进之类的去看我想看的代码 然而您视频又是一步步讲的 我理清逻辑就又不得不重新看一遍您的视频 我任然想您是否可以给一份源代码 我始终认为视频只是作了解 我要看代码我才能吸收 所以跪求源代码

来源:4-3 任意属性值(一)

qq_十年_9

2015-11-12 15:42

亲爱的老师 我还是发现了个问题  当我想看完视频后自己写的时候遇到了写问题  当我想解决问题的时候我不得不回头来看视频 而且不停的快进之类的去看我想看的代码 然而您视频又是一步步讲的 我理清逻辑就又不得不重新看一遍您的视频  我任然想您是否可以给一份源代码  我始终认为视频只是作了解 我要看代码我才能吸收 所以跪求源代码

写回答 关注

2回答

  • ______________0
    2016-02-24 13:57:26

    <!doctype>

    <html>

    <head>

    <meta charset = "utf-8">

    <title>同时改变宽高</title>

    <style type="text/css">

    *{margin: 0;padding: 0;}

    ul,li{list-style: none;}

    ul li{width: 200px;height: 50px;background: #333;margin-bottom: 20px;border: 2px solid #999;}


    </style>

    <script type="text/javascript">

    window.onload = function(){

    //var aLi = document.getElementsByTagName("li");

    var li1 = document.getElementById("li1");

    var li2 = document.getElementById("li2");

    var timer = null;


    // for(var i = 0;i<aLi.length;i++){

    // aLi[i].onmouseover = function(){

    // startMove(this,400);//鼠标移入是宽变成400px

    // }

    // aLi[i].onmouseout  = function(){

    // startMove(this,200);


    // }

    // }

    li1.onmouseover = function(){

    startMove(this,400,"width");

    }

    li1.onmouseout = function(){

    startMove(this,100,"width");

    }

    li2.onmouseover = function(){

    startMove(this,400,"height");

    }

    li2.onmouseout = function(){

    startMove(this,100,"height");

    }


    //函数定义有多种方法1、var提前  2、直接输入function

    function getStyle(obj,attr){//obj是对象,attr是属性

              if(obj.currentStyle){

                return obj.currentStyle[attr];//ie浏览器

              }else{

                return getComputedStyle(obj,false)[attr];//针对火狐浏览器

              }

            }


    var startMove = function(obj,iTarget,attr){//obj表示多个当前的

      clearInterval(obj.timer);

      obj.timer = setInterval(function(){

      var curr = parseInt(getStyle(obj,attr));//定义当前变量

      var  speed = (iTarget  - curr)/8;//不可以放到前面去定义,因为obj是没有被定义

      speed = speed>0?Math.ceil(speed):Math.floor(speed);//如果大于零向上取整,如果小于零就向下取整;

      if(curr == iTarget){

      clearInterval(obj.timer);

      }else{

      obj.style[attr] = curr + speed + "px";//

      }

      },30)

    }


    }


    </script>

    </head>

    <body>

    <div>

    <ul>

    <li id="li1"></li>

    <li id="li2"></li>

    <li></li>

    </ul>

    </div>

    </body>

    </html>

    应该是没错的,可以参考一下

  • 受戒人
    2015-12-16 10:48:25

    老师说,我没看到,自己写吧

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113923 学习 · 1443 问题

查看课程

相似问题