为了账号安全,请及时绑定邮箱和手机立即绑定

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • 封闭式函数:执行类似淘宝跳上去又掉下来的效果 function getstyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } var alpha=30; function move(obj,json,fn){ clearInterval(obj.timer); obj.timer=setInterval(function(){ var flag=true; for(var attr in json){ var curr=0; if(attr=="opacity"){ curr = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ curr=parseInt(getstyle(obj,attr)); } //算速度 var speed=(json[attr]-curr)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //检测停止 if(curr!=json[attr]){ flag=false; } if(attr=="opacity"){ obj.style.filter="alpha(opacity:"+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+"px"; } } if(flag){ clearInterval(obj.timer); if(fn){ fn(); } } },30) }
    查看全部
    0 采集 收起 来源:JS动画案例

    2018-03-22

  • 向上跑再掉下来的页面:
    查看全部
    0 采集 收起 来源:JS动画案例

    2017-11-02

  • 类似淘宝向上跑再掉下来 div id="move"> <a href="#"><i><img src="img/badge-circle-direction-right.png"/></i><p>彩票</p></a> <a href="#"><i><img src="img/badge-square-check.png"/></i><p>电影</p></a> <a href="#"><i><img src="img/badge-square-direction-down.png"/></i><p>音乐</p></a> <a href="#"><i><img src="img/circle-glass.png"/></i><p>缴费</p></a> </div>
    查看全部
    0 采集 收起 来源:JS动画案例

    2018-03-22

  • *{padding:0; margin:0;} #move { padding: 10px; width: 300px; background: #f4f4f4; border: 1px solid #ccc; margin: 10px auto; } #move a{display:inline-block; width:58px; height:25px; background:#fff; border:1px solid #f00; border-radius:3px; text-align:center; margin:10px 17px; position:relative; padding-top:40px; color:#c9c9c9; font-size:12px; text-decoration:none; line-height:25px; overflow:hidden;} #move a i{position:absolute; top:20px; left:0; display:inline-block; width:100%; text-align:center; opacity:1; filter:alpha(opacity=100); } #move a:hover{color:#f00;} #move img{border:none;} </style> <script src="move.js"></script>
    查看全部
    0 采集 收起 来源:JS动画案例

    2018-03-22

  • 最后尾
    查看全部
  • 重点额
    查看全部
  • 重点:
    查看全部
  • 最终版 function getstyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } var alpha=30; function move(obj,json,fn){ var flag=true;//假设 clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ //取当前值 var curr=0; if(attr=="opacity"){ curr = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ curr=parseInt(getstyle(obj,attr)); } //算速度 var speed=(json[attr]-curr)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //检测停止 if(curr!=json[attr]){ flag=false; } if(attr=="opacity"){ obj.style.filter="alpha(opacity:"+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+"px"; } } if(flag){ clearInterval(obj.timer); if(fn){ fn(); } } },30) }
    查看全部
  • 前段同步运动: <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> ul li{list-style:none;} li{width:200px; height:100px; background-color:yellow; margin-bottom:20px; border:2px solid #0f0; opacity:0.3; filter:alpha(opacity:30); } </style> <script src="test.js"></script> <script type="text/javascript"> window.onload=function(){ var ali=document.getElementById("li1"); ali.onmousemove=function(){ move(ali,{width:300,height:300}); } } //var json={a:1,b:2}; </script> </head> <body> <ul> <li id="li1"></li> </ul> </body>
    查看全部
  • function getstyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } var alpha=30; function move(obj,json,fn){ clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ var curr=0; if(attr=="opacity"){ curr = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ curr=parseInt(getstyle(obj,attr)); } //算速度 var speed=(json[attr]-curr)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //检测停止 if(curr==json[attr]){ clearInterval(obj.timer); if(fn){ fn(); } }else{ if(attr=="opacity"){ obj.style.filter="alpha(opacity:"+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+"px"; } } } },30) }
    查看全部
  • 上部分
    查看全部
  • 多物体运动,所有东西都不能公用
    查看全部
    0 采集 收起 来源:JS多物体动画

    2017-11-01

  • 引入部分js var alpha=30; function move(obj,attr,target,fn){ clearInterval(obj.timer); obj.timer=setInterval(function(){ var curr=0; if(attr=="opacity"){ curr = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ curr=parseInt(getstyle(obj,attr)); } //算速度 var speed=(target-curr)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //检测停止 if(curr==target){ clearInterval(obj.timer); if(fn){ fn(); } }else{ if(attr=="opacity"){ obj.style.filter="alpha(opacity:"+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+"px"; } } },30) }
    查看全部
    0 采集 收起 来源:JS链式动画

    2018-03-22

  • 综合让物体先宽后高在透明度 ul li{list-style:none;} li{width:200px; height:100px; background-color:yellow; margin-bottom:20px; border:2px solid #0f0; opacity:0.3; filter:alpha(opacity:30); } window.onload=function(){ var li=document.getElementById("li1"); li.onmouseover=function(){ move(li,"width",300,function(){ move(li,"height",300,function(){ move(li,"opacity",100); }) }); } } <ul> <li id="li1">1</li> </ul> unction getstyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
    0 采集 收起 来源:JS链式动画

    2018-03-22

  • 边宽-变高-透明度
    查看全部
    0 采集 收起 来源:JS链式动画

    2017-11-01

举报

0/150
提交
取消
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!