1

有人可以帮忙解释一下为什么下面的代码不起作用吗?我似乎无法弄清楚为什么......对我来说,一切都应该正常工作。

jQuery(window).load(function($){
    if (window.matchMedia("(min-width: 768px)").matches) { 
        var sideHeight = $('.mainContent').css('height');
        $('.sidebar').css('height', sideHeight);
    }
});

这是一个只有 CSS 部分的 jsfiddle,它可以工作。https://jsfiddle.net/24r9cax6/

我已经通过在该函数中添加警报来测试媒体匹配部分,并且我可以在 window.load 上弹出警报,但是 CSS 代码不起作用。我一直无法让 CSS 代码在我的网站上运行,并使我的侧边栏与主要内容的高度相同。我将 js 放在头部和身体的末端。不用找了。

该网站是用 WP 构建的。内容是动态加载的,所以我认为它是在加载内容之前做的高度,但这就是 window.load() 应该解决的问题,对吧?

这是网站上的一篇文章,您可以查看。我希望侧边栏与 mainContent div 的高度相同,因此灰色背景在页面下方继续。但仅限于平板电脑尺寸及以上(使用引导程序)。

http://www.businesstransitionandexitplanning.com/turning-business-income-into-retirement-income/

4

1 回答 1

1

您不能传递$.load()并让它像传递$到时一样工作.ready()。您需要包装整个函数:

(function($){

    $(window).load(function(){
        if (window.matchMedia("(min-width: 768px)").matches) { 
            var sideHeight = $('.mainContent').css('height');
            $('.sidebar').css('height', sideHeight);
        }
    });

})(jQuery);
于 2015-10-05T18:13:10.117 回答