所以我目前正在编写一个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
事件。