我不能让这个小东西起作用。不知道是什么问题,但我的数组元素无法定义,警报总是让我回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]);
}
答案 0 :(得分:3)
如果未在其中一个图像上设置'height'或'width'属性,或者不是数字,则尝试除以它可能会导致NaN结果。
尝试使用parseInt将这些值转换为数字:
mgHeights[i] = parseInt($("#slider img:eq("+i+")").attr('height'));
imgWidths[i] = parseInt($("#slider img:eq("+i+")").attr('width'));