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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • 多物体运动<br> for循环来为每一个TagNameList[i]添加事件,并添加属性来区分各自的定时器(用于取消)<br> 利用参数中的this来指定所选择的当前元素<br> 多物体不要共用一个值,在对象上定义一个单独的属性保存值<br> 多物体运动注意:定时器、变量要定义为个体的,而不能公用
    查看全部
    0 采集 收起 来源:JS多物体动画

    2018-03-22

  • <script> window.onload=function(){ var oMove=document.getElementById('move'); var alist=oMove.getElementsByTagName("a") for(var i=0;i<alist.lenght;i++){ alist[i].onmouseover=function(){ var _this=this.getElementsByTagName("i")[0]; startMove(_this,{top:-25,opacity:0},function(){ _this.style.top=30+'px'; startMove(_this,{top:25,opacity:100}) }) } } } </script>
    查看全部
    0 采集 收起 来源:JS动画案例

    2018-03-22

  • 透明度运动 1、所有主流浏览器(IE,Firefox,Opera,Chrome,Safari)都支持opacity属性。 注意:IE8和早期版本支持另一种过滤器属性。像:filter:Alpha(opacity=100) 2、由于无法直接修改对象的透明度,所以通过全局变量储存方式。(设定一个全局变量:var alpha=初始值 alpha+=speed) window.onload=function(){ var oDiv2=document.getElementById('div2'); oDiv2.onmouseover=function(){ change(30); }; oDiv2.onmouseout=function(){ change(100); }; }; //透明度运动 var timer2=null, alpha=100; function change(iTarget){ var oDiv2=document.getElementById('div2'); clearInterval(timer2); timer2=setInterval(function(){ if(alpha==iTarget){ clearInterval(timer2); }else{ if (alpha>iTarget) { alpha+=-10; }else{ alpha+=10; } oDiv2.style.opacity=alpha/100; oDiv2.style.filter=':alpha(opacity:'+alpha+')'; } },30); } </script>
    查看全部
    0 采集 收起 来源:JS透明度动画

    2018-03-22

  • <script> window.onload=function(){ var adiv=document.getElementsByTagName("div"); for(var i=0;i<adiv.length;i++){ adiv[i].alpha=30; adiv[i].onmouseover=function(){ startMove(this,100); } adiv[i].onmouseout=function(){ startMove(this,30); } } } var alpha=30; function startMove(obj,target){ clearInterval(obj.timer); obj.timer=setInterval(function(){ var speed=0; if(obj.alpha>target){ speed=-10; }else{ speed=10; } if(obj.alpha==target){ clearInterval(obj.timer); }else{ obj.alpha+=speed; obj.style.filter='alpha(opacity:'+obj.alpha+')'; obj.style.opacity=obj.alpha/100; } },30) } </script>
    查看全部
    0 采集 收起 来源:JS多物体动画

    2018-03-22

  • for(var i=0;i<ali.length;i++){ ali[i].time=null; ali[i].onmouseover=function(){ startMove(this,500) } ali[i].onmouseout=function(){ startMove(this,50) } }
    查看全部
    0 采集 收起 来源:JS多物体动画

    2018-03-22

  • <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> *{margin:0; padding:0;} #div1{width:500px; height:500px; background: #F00; opacity:0.3; filter:alpha(opacity:30);}/* opacity:0.3; filter:alpha(opacity:30)设置透明度*/ </style> <script type="text/javascript"> window.onload = function(){ var odiv = document.getElementById('div1'); odiv.onmouseover = function(){ startMove(100); } odiv.onmouseout = function(){ startMove(30); } } var time = null; var alpha = 30;//透明度没有属性所以,创建透明变量,并赋值属性 function startMove(iTarget){ var odiv = document.getElementById('div1'); clearInterval(time); time = setInterval(function(){ var speed = 0; if(alpha < iTarget){ speed = 10; } else { speed = -10; } if(alpha == iTarget){ clearInterval(time); } else { alpha += speed; odiv.style.filter = 'alpha(opacity:'+alpha+')'; odiv.style.opacity = alpha / 100; } },50); } </script> </head> <body> <div id="div1"> </div> </body> </html>
    查看全部
    3 采集 收起 来源:JS透明度动画

    2018-03-22

  • 对所有的元素添加事件,document.getElementByTagName('') 传参,改变对应元素的属性
    查看全部
    0 采集 收起 来源:JS多物体动画

    2016-06-22

  • <style type="text/css"> *{padding:0px; margin:0px;} #div1{width:200px; height:200px;background:#F00; border:1 solid red;left:-200px;top:0px;position:relative;} #share{width:20px; height:50px; background:blue;position:absolute;left:200px;top:75px;} </style> <script type="text/javascript"> window.onload=function(){ var oDiv=document.getElementById('div1'); oDiv.onmouseover=function(){ startMove(0); //startMove(-200); } oDiv.onmouseout=function(){ startMove(-200); //startMove(-200); } } var timer=null; function startMove(xTarget){ clearInterval(timer); var oDiv=document.getElementById('div1'); if(oDiv.offsetLeft >xTarget){ var speed=0; speed=-1; }else{ speed=1; } timer=setInterval(function(){ if(oDiv.offsetLeft == xTarget){ clearInterval(timer); }else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } },50) } </script> <body> <div id="div1"> <span id="share">分享</span> </div> </body> </html>
    查看全部
    1 采集 收起 来源:JS速度动画

    2018-03-22

  • 通过学习了解了简单js框架的书写,知道json的简单用法。
    查看全部
  • speed=speed>0?Math.ceil(speed):Math.floor(speed);
    查看全部
    0 采集 收起 来源:JS缓冲动画

    2018-03-22

  • <head> <title>无标题文档</title> <style type="text/css"> *{padding:0px; margin:0px;} #div1{width:200px; height:200px;background:#36C; border:1 solid red;left:-200px;top:0px;position:relative;} #share{width:20px; height:50px; background:blue;position:absolute;left:200px;top:75px;} </style> <script type="text/javascript"> window.onload=function(){ var oDiv=document.getElementById('div1'); oDiv.onmouseover=function(){ startMove(0); //startMove(-200); } oDiv.onmouseout=function(){ startMove(-200); //startMove(-200); } } var timer=null; function startMove(xTarget){ clearInterval(timer); var oDiv=document.getElementById('div1'); if(oDiv.offsetLeft >xTarget){ var speed=0; speed=-1; }else{ speed=1; } timer=setInterval(function(){ if(oDiv.offsetLeft == xTarget){ clearInterval(timer); }else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } },50) } </script> </head>
    查看全部
    0 采集 收起 来源:JS速度动画

    2018-03-22

  • Ps1:animate 时间参数还有:‘slow’‘fast’。 Ps2:防止鼠标事件多次触发,采用onmouseenter代替onmouseover;////mouseenter不带on 注意:图上第2、3个 this 指的是 find('i');。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:jQuery动画案例

    2016-08-26

  • @模仿淘宝转一圈效果 _this.style.top=30+'px';//这样的思想很赞! 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:JS动画案例

    2016-08-26

  • Ps1:/*JSON格式:*/ var json={a:0};//键值对{name:key} var json={a:0,b:1};//键值对{name1:key1,name2:key2},多对 Ps2:/*for-in(for-each)*/ for(var i in json){ alert(i);//name值 alert(json[i]);//key值 } Ps3:/*最终封装的'完美移动框架'*/ function startMove(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=0; speed=(json[attr]-curr)/10; 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){ fu(); } } },30); } //取样式 function getStyle(obj,attr){ if(obj.currentStyle){//IE取样式 return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
  • @多物体同时运动 这样写看似同时运动,但是会遇到覆盖前者和清除前者动画的冲突。 Ps:JS中,形参个数大于等于实参。Java SE中必须要等于。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:同时运动

    2016-08-26

举报

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

微信扫码,参与3人拼团

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

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