慧女神
2016-04-12 21:15
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>速度动画</title>
<style type="text/css">
#div1{ background-color:#000;
position:relative;
width:200px;
height:200px;
left:-200px;
}
#div1 span{
background-color: #C0F;
display:inline-block;
position:absolute;
width: 80px;
height::50px;
left:200px;
top:86px;
}
</style>
<script type="text/javascript">
window.onload=function(){
var odiv1= document.getElementById('div1');
odiv1.onmousemove=function(){
starMove();
}
}
var timer=null;
function starMove(){
clearInterval(timer);
var odiv1= document.getElementById("div1");
timer= setInterval(function(){
if(odiv1.offsetLef ==0){
clearInterval(timer);
}
else{
odiv1.style.left=odiv1.offsetLeft+1+'px';
}
},30);
}
</script>
</head>
<body>
<div id="div1"><span>share</span></div>
</body>
</html>
首先,尽量不要用onmousemove去实验,而是用onmouseover.
其次,odiv1.offsetLef ==0 其中,offsetLef 书写错误,应为offsetLeft.
最后,解决方案,在css部分加上body{margin: 0; padding: 0;} 可使计时器生效。
offsetLeft写掉了t。。。。。。
JS动画效果
113925 学习 · 1443 问题
相似问题
回答 2
回答 3