第一次加载页面时脚本不起作用

时间:2017-08-02 09:29:38

标签: javascript jquery

我的js脚本在我的页面上设置图像高度时遇到问题。

看起来像这样:

var $bigImages = $('.js-big-image'),
    $quotes = $('.js-quote'),
    $quoteImages = $('.js-quote-image');

        if (window.innerWidth >= 460) {
            $bigImages.each(function (index) {
                var imgHeight = $(this).height() / 2;
                $($quotes[index]).height(imgHeight);
                $($quoteImages[index]).height($quoteImages[index] / 2);
            });
        }

当我第一次进入页面时,图像获得height:0px;,但是当我重新加载页面图像时,会根据脚本计算高度。

用户第一次来时就会发生这种情况。当我使用chrome隐身窗口时,问题就存在了,所以只有在第一次发生这种情况后,重新加载后一切都很好。

非常感谢解决方案。

1 个答案:

答案 0 :(得分:2)

在执行脚本

之前,确保页面已完全加载

通过将代码变为ready函数

来执行此操作
$(document).ready(function () {
    var $bigImages = $('.js-big-image'),
    $quotes = $('.js-quote'),
    $quoteImages = $('.js-quote-image');

    if (window.innerWidth >= 460) {
        $bigImages.each(function (index) {
            var imgHeight = $(this).height() / 2;
            $($quotes[index]).height(imgHeight);
            $($quoteImages[index]).height($quoteImages[index] / 2);
        });
    }
});