3
我無法使這個小東西工作。不知道有什麼問題,但我的數組元素無法定義,警告總是讓我回到NaN。試圖提醒jQuery選擇器,他們正在完美工作。有什麼問題?無法定義數組元素
var sldr = $("#slider img"),
count = sldr.length-1,
containerHeight = $("#slider").css('height'),
images = new Array(),
imgHeights = new Array(),
imgWidths = new Array(),
imgSlices = new Array(),
choosenSlice = '',
slicer = '';
var i=0;
for (i=0;i<=count;i++){
images[i] = $("#slider img:eq("+i+")");
imgHeights[i] = $("#slider img:eq("+i+")").attr('height');
imgWidths[i] = $("#slider img:eq("+i+")").attr('width');
imgSlices[i] = (Math.round(imgHeights[i]/containerHeight))-1;
alert(imgSlices[i]);
}
謝謝,它的工作。但爲什麼我不能存儲數字以外的其他數據? 'code'images [i] = $(「#slider img:eq(」+ i +「)」);'code'這將是一個對象,例如...並且它們被設置在標記中...... can不明白... – wintercounter
你可以存儲數字以外的東西,但是和他們做數學會導致NaN。標籤上的屬性像高度和寬度最終都是字符串 - 它們可能只是數字的字符串表示形式,但它們仍然是字符串類型。這聽起來像是可能發生的事情是,即使您將寬度設置爲「400」,瀏覽器也可能會將其解釋爲「400px」。額外的非數字字符可能會阻止它在不解析的情況下被視爲數字。 – Zach
只是爲了澄清,這裏真正的問題是字符串的劃分(在下一行),並且通過存儲數字而不是字符串來解決分區中使用的值。一般來說,你可以在數組中存儲任何你想要的東西。 – Zach