【问题标题】:Change <menu> height with jquery when page width is less than 960px当页面宽度小于 960 像素时,使用 jquery 更改 <menu> 高度
【发布时间】:2012-09-15 00:33:49
【问题描述】:

页面宽度小于960px时如何使用jquery改变元素的高度

这是我尝试过的:

$(document).ready(function() {

if ( $(window).width() < 960) {
    $('menu').animate({height:'60px'});
}
else {
    $('menu').animate({height:'40px'});
}

});

但它仅在您刷新页面时有效,并且我希望在页面加载后重新调整页面大小时它可以工作。

【问题讨论】:

    标签: jquery jquery-animate height width


    【解决方案1】:
     $('menu').animate({height:'60px'});
        ^^^^
     here is the error if menu is `id` than should be `#menu` if `class` than `.menu`
    

    菜单标签浏览器支持

    【讨论】:

    • 我用的不是class或者id菜单,而是标签
    • @user1691862 请检查答案中的原因
    • 好吧,我尝试将#menu 与
    • @user1691862 请提供jsfiddle以便我们解决
    【解决方案2】:

    您需要发布 HTML 来确定,但 $('menu') 通常不是一个有效的选择器,它会匹配像 &lt;menu&gt; 这样的元素。更有可能它是一个类或 id - 如果它是一个类,它应该是 $('.menu'),如果它是一个 ID,它应该是 $('#menu')

    要在调整页面大小时运行,请将您的代码包装在 resize() 方法中 - http://api.jquery.com/resize/

    // resize menu depending on page width
    function do_resize(){
        if ( $(window).width() < 960) {
            $('menu').animate({height:'60px'});
        } else {
            $('menu').animate({height:'40px'});
        }
    }
    // resize menu on initial page load
    $(document).ready(do_resize);
    // resize menu when page is resized
    $(window).resize(do_resize);
    

    【讨论】:

    • 我正在使用元素 并且它可以工作,但只能加载页面。如果页面大小在加载后发生变化,我希望高度发生变化
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签