2013-12-12 47 views
1
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<!DOCTYPE html> 
<script> 
mycars = {}; 

function dodat(){ 
var btn=document.createElement("div"); 
btn.style.width="25px"; 
btn.style.height="25px"; 
btn.style.backgroundColor="red"; 
btn.style.boxShadow="inset 0px 0px 0px 2px black"; 
btn.style.position="absolute"; 
btn.style.left="0px"; 
var numba = Math.round(Math.random()*10000000000); 
btn.id=numba; 
mycars[numba] = -100; 

var move = function(){ 
mycars[numba] = mycars[numba]+1; 
document.getElementById(numba).style.left=mycars[numba]+"px"; 
}; 

setInterval(move, 10); 

document.getElementById("track").appendChild(btn); 
} 
</script> 

<body> 

<div style="background-color:#c3c3c3;width:500px;height:25px;overflow:hidden;position:relative;" id="track"></div> 
</body> 

<script> 
setInterval("dodat();", "1000"); 
</script> 
<script> 
setInterval('alert($("div:eq(1)").position().left);', '1000'); 
</script> 

我有一個問題,因爲斑點保持滾動jQuery的div:eq(1)沒有得到第二個元素,它似乎得到最後一個元素或東西,它不是動態的。EQ沒有得到正確的,第二個元素

請幫幫忙,謝謝:)

+0

你只是讓我哭了!這只是傷心。 – adeneo

+0

等一下,你在諷刺嗎? @adeneo – user3092778

+0

不,不是真的!在doctype之前有一個腳本標記,很多javascript可以通過使用jQuery來簡化,因爲無論如何,它包含它,以及傳遞函數的時間間隔,問題在於,它在更改變量或更新DOM時不會更新,因此不會更新。 – adeneo

回答

0

編寫代碼時,DOM準備好。

嘗試:

<script> 
$(document).ready(function(){ 
    setInterval(function(){ 
     alert($("div:eq(0)").position().left); 
    },1000); 
}); 
</script> 

DEMO here.

+0

太好了,謝謝。 – user3092778

+0

@ user3092778歡迎 – Hiral

+0

等待,不起作用,我粘貼它http://jsfiddle.net/KjsSJ/ @hiral – user3092778

相關問題