jQuery 加载函数或 matchMedia 或 .css() 函数不起作用

标签 jquery css wordpress matchmedia

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

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 放在头部,然后放在 body 的末尾。没有变化。

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

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

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

最佳答案

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

(function($){

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

})(jQuery);

关于jQuery 加载函数或 matchMedia 或 .css() 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32954996/

相关文章:

javascript - jQuery $(window).load();事件不会在没有 <!DOCTYPE> 声明的页面上触发? (...在 chrome 扩展内容脚本中)

javascript - 使用 JavaScript 或 jQuery 避免重复结果

javascript - 如何在容器内显示滚动条?

javascript - 如何在WordPress内容(single.php)中添加自动折叠/展开?

jquery - 使用WordPress将视频上传到YouTube

javascript - 滚动到 div 中的某个元素

javascript - Google Charts API : Show/Hide Series on Legend Click. 如何?

HTML + CSS 修改单选按钮只选择第一个

css - 单击菜单保持打开状态

wordpress : how to add categories and tags on pages?