나는 한동안 다양한 무생물에 맞서 머리를 숙였습니다. jQuery를 사용하여 프로모션 배너 회전 작업을 만듭니다. 2 초마다 (앞으로 더 많이 변경할 예정이며, 테스트는 짧습니다) 이미지와 캡션이 바뀝니다.잡히지 않은 TypeError : 정의되지 않은 '0'속성을 읽을 수 없습니다.
이 동작은 잘 동작하며, 두 동작 사이를 회전하여 마지막 동작이되면 처음으로 돌아갑니다. 내가 하나를 클릭하고 처음으로 돌아갑니다 때 옆이 발생 회전하려고하지만, (아니면 명시 적으로 첫 번째 클릭) : 내 두 가지 기능에
Uncaught TypeError: Cannot read property '0' of undefined /ftwc/:178
changeImage
rotate
합니다. 나는 이유를 이해할 수 없다!
changeImage = function(num) {
$(".currentpromoimage").before('<div class="promoimage newpromoimage" style="background: url(\''+images[num][0]+'\') no-repeat; z-index: 1;"><div class="caption" style="color: #'+images[num][2]+'">'+images[num][1]+'</div></div>');
$(".currentpromoimage").fadeOut(700,function(){
$(".newpromoimage").addClass("currentpromoimage");
$(".newpromoimage").removeClass("newpromoimage");
$(this).remove();
});
$(".newpromoimage").fadeIn(700);
$("#promoselect").children().children().css('background', '#303030');
$("#ps_"+num).css('background', '#000000');
currentImage = num;
};
rotate = function() {
var imageLength = images.length-1;
if (currentImage == imageLength) {
changeImage("0");
} else {
var nextImage = currentImage+1;
/*alert("nextImage:"+nextImage);*/
changeImage(nextImage);
}
};
var selectors = "";
var preloads = '';
for(var i=0;i<images.length;i++) {
preloads += '<img src="'+images[i][0]+'" alt="preloaded" class="preload">';
selectors += "<li id=\"ps_"+i+"\"></li>";
}
$("body").prepend(preloads);
$("#grass").after('<div id="promo"><div id="promoselect"><ul></ul></div><div class="promoimage currentpromoimage" style="background: url(\''+images[0][0]+'\') no-repeat; z-index: 1;"><div class="caption" style="color: #'+images[0][2]+'">'+images[0][1]+'</div></div></div>');
var currentImage = 0;
$("#promoselect").children().append(selectors);
$("#ps_0").css('background', '#000000');
$("#promoselect")
.children()
.children()
.click(function() {
var selector = $(this).attr("id").split("_");
clearInterval(autoimage);
changeImage(selector[1]);
autoimage = setInterval(rotate,2000);
});
autoimage = setInterval(rotate,2000);
이것은 JQuery와 문서 준비 함수 내 모든 호출 및 이미지로 json_encode를 사용 PHP에서 인코딩 된 어레이이다 : 여기
스크립트이다. 나는 그것이 순간적으로 지저분하다는 것을 압니다.하지만이 기능들이 정의되지 않은 것처럼 보이는 이유를 모르겠습니다.고마워요!
오류를 보여주는 JS 피들링을 설정할 수 있습니까? – Utkanos