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

这个情况下图片不会动了为什么?

这个情况下图片不会动了为什么?

Fornow 2015-10-23 10:56:12
学了JS动画效果7-1的JS动画案例,自己动手 做了个,但是不会动,想不懂。。。以下为JS外部链接代码,其他文件可用没问题。//startMove(obj,{attr1:target,attr2:target},fn)) function startMove(obj,json,fn){ var flag=true;//假设所有运动都到达终点 clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ //1.取当前值 var icur =0; if(attr == 'opacity'){ icur =Math.round(parseFloat(getStyle(obj,attr))*100); }else{ icur =parseInt(getStyle(obj,attr)); } //2.算速度 var speed=(json[attr]-icur)/8; speed = speed>0?Math.ceil(speed):Math.floor(speed); //3.检测停止 if(icur != json[attr]){ flag = false; } if(attr =='opacity'){ obj.style.filter ='alpha(opacity:'+(icur+speed)+')'; obj.style.opacity =(icur +speed)/100; } else{ obj.style[attr] = icur +speed +'px'; //obj.style.width=icur +speed+'px'; } if(flag){ clearInterval(obj.timer); if(fn){ fn(); } } } },30); } function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }以下为html部分代码,但是实现不了动画效果<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>JS动画实例-失败</title> <style> #move{width: 2560px;margin: 0 auto;} img{float: left;margin-top:220px;} </style> <script type="text/javascript" src="js/move.js" ></script> <script> window.onload=function(){ var oMove = document.getElementById('move'); var aList= oMove.getElementsByTagName('a'); aList[0].onmouseover=function(){ var _this =aList[0].getElementsByTagName('i')[0]; startMove(_this,{top:-250,opacity:0}); } } </script> </head> <body> <div id="move"> <a href="#"><i><img src="img/Ziggs_512px.png"/></i><p></p></a> </div> </body> </html>求问为什么啊~~好纠结
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

问题出在你对CSS的top属性不了解,与js无关。所以添加样式 i{position:absolute;}就可以了。

CSS top属性定义和用法

top 属性规定元素的顶部边缘。该属性定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。

注释:如果 "position" 属性的值为 "static",那么设置 "top" 属性不会产生任何效果。




查看完整回答
反对 回复 2015-10-24
  • 1 回答
  • 0 关注
  • 1422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信