微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery – 动态div高度

我正在尝试在pageload和窗口大小上调整div的大小.下面的代码放在< / body>之前,它在页面加载上工作正常,但在窗口调整大小上什么都不做.我用一个警告测试了resize函数,它在调整大小时触发,但高度保持不变.
<script type='text/javascript'>
    $('#main-content') .css({'height': (($(window).height()) - 361)+'px'});

    $(window).resize(function(){
        $('#main-content') .css({'height': (($(window).height()) - 361)+'px'});
        alert('resized');
    });
</script>

更新:经过长时间的休息,我发现了什么是导致问题.我正在使用jquery脚本在正在调整大小的同一个div上添加一个样式滚动条.当我发表评论时,一切都调整好了.我已经将滚动条初始化与resize相同的功能,并尝试任何变化,我可以想到..仍然无法让它工作.

(#main-content div也有.scroll-pane类)

<script type='text/javascript'>
$(function(){
    $('#main-content').css({'height':(($(window).height())-361)+'px'});
    $('.scroll-pane').jScrollPane({scrollbarWidth:15,scrollbarMargin:15});

    $(window).resize(function(){
          $('#main-content').css({'height':(($(window).height())-361)+'px'});
    });
});
</script>

解决方法

解决了!

所有它需要的是在计算高度之前删除jScrollPane,并重新应用它.

<script type='text/javascript'>
$(function(){
    $('.scroll-pane').css({'height':(($(window).height())-361)+'px'});
    $('#main-content').jScrollPane({scrollbarWidth:15,scrollbarMargin:15});

    $(window).resize(function(){
          $('.scroll-pane').jScrollPaneRemove();
          $('#main-content').css({'height':(($(window).height())-361)+'px'});
          $('.scroll-pane').jScrollPane({scrollbarWidth:15,scrollbarMargin:15});
    });
});
</script>

原文地址:https://www.jb51.cc/jquery/176185.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐