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 : 아뇨, 코드를 좀 더 자세히 살펴보세요. –