我遵循Jeffrey的方法,可以在YouTube上用30天的时间很好地学习jquery,但是我无法使用他的代码来使用滑块。这归因于在脚本顶部设置变量imgWidth时未正确设置。

images = sliderUL.find('img'),
    imagesLen = images.length,
    current = 1,
    imgWidth = images[0].width; // giving 0 instead of 600??


它变为0,但是如果我在单击脚本时在脚本的下方向下console.log images [0] .width,它将显示正确的值600。它看起来像是在第一次分配时dom还没有准备好。还是在知道图像宽度之前进行分配?有人可以告诉我怎么回事吗?我试图将整个内容包装到文档就绪函数中,以防万一这是问题所在,但仍然无法正常工作

full demo here

最佳答案

您必须等到图像加载完毕。看看这个答案:

jQuery width() and height() return 0 for img element

编辑:

为了完整性:

images.on('load',function(){
    imgWidth = $(this).width();
    console.log(imgWidth);
    totalImgsWidth = imagesLen * imgWidth;
});

关于javascript - 您能帮我解决Jeffrey Way Slider首次尝试imgWidth错误吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36078251/

10-13 06:17