Dreaded 100%边栏高度-jQuery修复,但另一个问题出现了



所以我目前正在编写一个UI,它是有响应的,所以侧边栏必须是position:absolute才能获得100%的高度。

我使用jQuery解决了页面高度问题,页面的高度比原来的100%还要长。

这是jQuery:

<script>
if (document.documentElement.clientWidth > 959) {
    $(document).ready(function () {
        $(window).resize(function () {
            var bodyheight = $(document).height();
            $(".site-sidebar").height(bodyheight);
        });
        $(window).ready(function () {
            var bodyheight = $(document).height();
            $(".site-sidebar").height(bodyheight);
        });
    });
}
</script>

现在。。问题是页面有选项卡,最后一个选项卡比"活动"选项卡长,因此高度没有正确调整。。因此,当你点击最后一个选项卡时,侧边栏下面会有一个空白区域。

以下是我的意思的截图:https://www.dropbox.com/s/i64vm9pf15kqlo1/Screenshot%202015-02-17%2016.20.46.png?dl=0

我认为我需要调整代码,以便在单击选项卡时"重新加载"该脚本。然而,我的jQuery是有限的,不知道如何去做。请帮助:)我会永远爱你。

<script>
    function resizeSidebar() {
        if (document.documentElement.clientWidth > 959) {
            var bodyHeight = $(document).height();
            $(".site-sidebar").height(bodyHeight);
        }
    }
    $(document).ready(function() {
        resizeSidebar();
    }
</script>

如果您使用的是jQuery UI的选项卡,请添加以下内容:

$( ".selector" ).on( "tabsactivate", function( event, ui ) { resizeSidebar(); } );

用适合您的HTML的内容替换.selector。否则,您需要将resizeSidebar绑定到选项卡的click事件。

相关内容

最新更新