无法定义数组元素

时间:2011-10-19 23:18:37

标签: javascript arrays

我不能让这个小东西起作用。不知道是什么问题,但我的数组元素无法定义,警报总是让我回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]);
        }

1 个答案:

答案 0 :(得分:3)

如果未在其中一个图像上设置'height'或'width'属性,或者不是数字,则尝试除以它可能会导致NaN结果。

尝试使用parseInt将这些值转换为数字:

mgHeights[i]       = parseInt($("#slider img:eq("+i+")").attr('height'));
imgWidths[i]       = parseInt($("#slider img:eq("+i+")").attr('width'));