我一直在對頭撞擊各種無生命對象。我使用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