課程
/前端開發(fā)
/JavaScript
/JS動(dòng)畫效果
為什么我的在odiv.offsetLeft==0的時(shí)候停不下來代碼我也寫上去了
2016-01-02
源自:JS動(dòng)畫效果 2-1
正在回答
將#div1中的position:relative;改為position:absolute;
gzw2zy
建議將判斷條件“oDiv.offsetLeft == 0”改為“oDiv.offsetLeft <= 0”,瀏覽器渲染頁面是有間隔的,如果值改變?yōu)?的時(shí)間點(diǎn)和瀏覽器渲染的時(shí)間點(diǎn)完美錯(cuò)過了,那么設(shè)置的值就沒有用了。改為小于等于0,就算錯(cuò)過了0的時(shí)間點(diǎn),以后小于0的值也在判斷范圍內(nèi)。
一直往右邊走哪里錯(cuò)了?
聽說名字太長(zhǎng)不好念
<!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>無標(biāo)題文檔</title>
<style type="text/css">
body.div.span{
margin:0px;
padding:0px;
}
#div1{
width:200px;
height:200px;
background:red;
position:relative;
left:-200px;
top:0px;
#div1 span{
width:20px;
height:50px;
background:blue;
position:absolute;
left:200px;
top:75px;
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div1');
oDiv.onmouseover=function(){
startmove();
oDiv.onmouseout=function(){
startmove1();
var i=null;
function startmove(){
clearInterval(i);
i=setInterval(function(){
if(oDiv.offsetLeft==0){
else
{
oDiv.style.left=oDiv.offsetLeft+1+'px';
},30)
function startmove1(){
if(oDiv.offsetLeft==-200){
oDiv.style.left=oDiv.offsetLeft-1+'px';
</script>
</head>
<body>
<div id="div1"><span id="share">分享</span></div>
</body>
</html>
舉報(bào)
通過本課程JS動(dòng)畫的學(xué)習(xí),從簡(jiǎn)單動(dòng)畫開始,逐步深入各種動(dòng)畫框架封裝
1 回答物體運(yùn)動(dòng)后停不下來
2 回答我的這個(gè)怎么停不下來
4 回答為什么我的根本停不下來
2 回答請(qǐng)幫忙看下這個(gè),怎么停不下來?
3 回答一模一樣的代碼,怎么停不下來啊??????????????
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-01-13
將#div1中的position:relative;改為position:absolute;
2016-01-03
建議將判斷條件“oDiv.offsetLeft == 0”改為“oDiv.offsetLeft <= 0”,瀏覽器渲染頁面是有間隔的,如果值改變?yōu)?的時(shí)間點(diǎn)和瀏覽器渲染的時(shí)間點(diǎn)完美錯(cuò)過了,那么設(shè)置的值就沒有用了。改為小于等于0,就算錯(cuò)過了0的時(shí)間點(diǎn),以后小于0的值也在判斷范圍內(nèi)。
2016-01-02
一直往右邊走哪里錯(cuò)了?
2016-01-02
<!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>無標(biāo)題文檔</title>
<style type="text/css">
body.div.span{
margin:0px;
padding:0px;
}
#div1{
width:200px;
height:200px;
background:red;
position:relative;
left:-200px;
top:0px;
}
#div1 span{
width:20px;
height:50px;
background:blue;
position:absolute;
left:200px;
top:75px;
}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div1');
oDiv.onmouseover=function(){
startmove();
}
oDiv.onmouseout=function(){
startmove1();
}
}
var i=null;
function startmove(){
clearInterval(i);
var oDiv=document.getElementById('div1');
i=setInterval(function(){
if(oDiv.offsetLeft==0){
clearInterval(i);
}
else
{
oDiv.style.left=oDiv.offsetLeft+1+'px';
}
},30)
}
function startmove1(){
clearInterval(i);
var oDiv=document.getElementById('div1');
i=setInterval(function(){
if(oDiv.offsetLeft==-200){
clearInterval(i);
}
else
{
oDiv.style.left=oDiv.offsetLeft-1+'px';
}
},30)
}
</script>
</head>
<body>
<div id="div1"><span id="share">分享</span></div>
</body>
</html>