我寫的鼠標移出的代碼為什么當移出的時候為什么div一直顫抖,而不移出呢。
<!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>
body,div,span{
margin:0;
? ? padding:0;
?}
?#div{
width:200px;
height:200px;
background:red;
position:relative;
left:-200px;
top:0;
?}
?#share{
width:20px;
height:50px;
background:blue;
position:absolute;
left:200px;
top:75px;
?}?
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div');
oDiv.onmouseover=function(){
startMove();
}
oDiv.onmouseout=function(){
startMove1();
}
}
var timer=null;
function startMove(){
clearInterval(timer);
var oDiv=document.getElementById('div');
setInterval(function(){
if(oDiv.offsetLeft==0){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+10+'px';
}
},30);
}
function startMove1(){
clearInterval(timer);
var oDiv=document.getElementById('div');
setInterval(function(){
if(oDiv.offsetLeft==-200){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft-10+'px';
}
},30);
}
? </script>
</head>
<body>
<div id="div"><span id="share">分享</span></div>
</body>
</html>
2016-08-16
因為你的timer是空的呀~根本沒有給它賦值,就像樓上Peakid說的?timer = setInterval(function(){}
要把setInterval(function(){}這個定時器賦給timer
2016-08-13
對startMove和startMove這兩個函數(shù)的定義中,缺少了獲取oDid的步驟
var oDiv = document.getElementById('oDiv');