私は3つの画像のz-インデックスを変更するスクリプトを書こうとしています。基本的には、スクリプトは現在のイメージをターゲットにし、次のイメージに、より高いZインデックスを適用する必要があります。たとえば、カルーセルのようなものですが、アクティブなクラスではなくZインデックスを使用します。課題は、特定の間隔の後に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:いいえ、コードを少し詳しく見てください。 –