jquery函数中的变量未准备好用于选择器功能

时间:2014-02-04 23:30:23

标签: jquery

我对jQuery很新鲜。我刚刚学会了如何声明变量,并且很困惑为什么它有时会起作用,为什么不起作用。当我加载页面时,我的代码的$(".slider").slideshow({部分应该将一组<img>标记转换为滑块。有时当我加载我的页面时,它可以工作,但是如果我点击刷新它在大多数时间都不起作用。显示滑块导航按钮,但图像无法找到。我认为这是因为无论出于何种原因,我的imageWidth和imageHeight都没有为滑块功能设置开启时间。我怎么能每次都让它工作?

 $(document).ready(function () {

    var imageWidth = $('#imageWidth').width()
    var imageHeight = $('#imageWidth').height()

    $(".slider").slideshow({
        width: imageWidth,
        height: imageHeight,
        transition: 'bar'
    });
});

1 个答案:

答案 0 :(得分:0)

Kevin B在评论中指出的问题是我需要一种方法来等待图像加载,然后才能获得它们的高度和宽度。 jQuery有一个功能。

The load event is sent to an element when it and all sub-elements have been completely loaded.

$(document).ready(function () {
    $('#imageWidth').load(function () {
        var imageWidth = $('#imageWidth').width()
        var imageHeight = $('#imageWidth').height()

        $(".slider").slideshow({
            width: imageWidth,
            height: imageHeight,
            transition: 'bar'
        });
    });