javascript - JQuery 未在窗口调整大小时调整 div 大小

标签 javascript jquery resize

所以我有一个 JQuery 函数,它的构建目的是使列高相同。它检查屏幕尺寸,如果是在中等尺寸或更大的设备上,它会将列的大小调整到相同的高度。这部分功能效果很好。但是,如果将其调整为移动尺寸(或任何低于 1025 像素的尺寸),高度不会重置为原始尺寸并保持增加后的尺寸。如果在小屏幕上启动,它会正确显示,直到调整到大屏幕,然后再次调整到小屏幕(然后会出现与上面相同的问题)。

这是代码!

    $(document).ready(function(){
        matchColHeight('.intro-pic', '.intro-desc-container');

        $(window).resize(function(){
            matchColHeight('.intro-pic', '.intro-desc-container');
        });
    }); 

    function matchColHeight(tallColumn, shortColumn){
        shortOriginalHeight = $(shortColumn).height();

        if (window.matchMedia('(min-width: 1025px)').matches) { 
            height = $(tallColumn).height();
            $(shortColumn).css({
                'height': height + 'px'
            });
        }
        else{
            $(shortColumn).css({
                'height': shortOriginalHeight + 'px'
            });
        }
    }

注意:我也尝试过使用以下函数,但它也有同样的问题:

    function matchColHeight(tallColumn, shortColumn){
        shortOriginalHeight = $(shortColumn).height();
        screenSize = $(window).width();

        if (screenSize > 1025){     
            height = $(tallColumn).height();
            $(shortColumn).css({
                'height': height + 'px'
            });
        }
        else{
            $(shortColumn).css({
                'height': shortOriginalHeight + 'px'
            });
        }
    }

提前致谢!

最佳答案

最终通过将函数更改为以下内容解决了我的问题:

function matchColHeight(tallColumn, shortColumn){
    if (window.matchMedia('(min-width: 40em)').matches) {   
    height = $(tallColumn).height();
    $(shortColumn).css({
        'height': height + 'px'
        });
    }
    else{
        $(shortColumn).removeAttr('style');
    }
}

我没有存储原始高度并恢复到原来的高度,而是在不需要时删除了修改后的高度。

关于javascript - JQuery 未在窗口调整大小时调整 div 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35663087/

相关文章:

javascript - 使用 jquery 单击 td 元素时更改其文本

javascript - JQUI 日期选择器在选择后更改月份或年份重置

javascript - 与 Git/GitHub 协作使用 Node 测试代码

Javascript If-else 语句

javascript - 即使我需要设置我的 webView contentEditable=true,我怎样才能阻止键盘出现?

jquery - 使用经典 asp 从 URL 获取哈希值

c# - WinForms 中多余的滚动条

cocoa - 什么可能会导致 OSX/Cocoa 应用程序中的空窗口调整大小响应迟缓/不稳定?

jquery - 添加较大文本时动画宽度调整大小

javascript - 通过Javascript将多种数据形式存入数组