我正在嘗試編寫一個腳本來更改3個圖像的z-index。基本上,腳本應該針對當前圖像,並在下一張圖像上應用更高的z-index,就像一種旋轉木馬,但使用z-index而不是活動類。面臨的挑戰是在特定時間間隔後設置z-索引。問題是第一個圖像顯示,然後是最後一個。這是我的代碼:for循環中的SetTimeout
HTML:
<div class="changingimages">
<img src="#" data-time="3000" width="100%" class="alternateimage alternateimage1">
<img src="#" data-time="2000" width="100%" class="alternateimage alternateimage2">
<img src="#" data-time="4000" width="100%" class="alternateimage alternateimage3">
</div>
jQuery腳本
<script type="text/javascript">
jQuery(document).ready(function(){
var changeImg = function(i, time, currentImg) {
setTimeout(function(){
jQuery(currentImg).next().css("z-index", i);
}, time);
};
var numberOfChilds = jQuery(".changingimages").children().length;
var currentIndexClass;
var currentImg;
var time;
for (var i=1; i<=numberOfChilds; i++) {
currentIndexClass = '.alternateimage' + i;
currentImg = jQuery(currentIndexClass);
time = jQuery(currentIndexClass).attr("data-time");
changeImg(i, time, currentImg);
}
});
我認爲有一些問題,在一個循環中關閉,但不知道!
*您遇到什麼*問題?什麼不行? – Bergi
到'setTimeout'的回調觸發時,'i'將是最大值。 –
@DavinTryon:不,看看代碼更接近一點。 –