学了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>求问为什么啊~~好纠结
Fornow
pardon110
随时随地看视频慕课网APP