2011-01-06 54 views
0

请参阅下面的代码在JQuery中调整HTML文档高度后,如何让元素出现/消失?

目标:如果浏览器窗口具有垂直滚动,则显示#scroll-top ... else hide#scroll-top。

问题:我的页面上有一些元素可以切换,因此可以调整页面高度,从而影响浏览器滚动条是否可见。

问题:如果我折叠/切换页面上的所有元素,如果我展开所有元素,就会出现#scroll-top消失?

var hContent = $("body").height(); 
var hWindow = $(window).height(); 

if(hContent>hWindow) { 
    $('#scroll-top').fadeIn(250);  
} 
else { 
    $('#scroll-top').fadeOut(250); 
} 

任何帮助是极大的赞赏,感谢

回答

0

你为什么不只是包装你的示例代码中的函数,并调用它,只要您切换你的元素,以确定是否需要显示或隐藏#scroll-top

function ToggleScrollTop() { 
    var hContent = $("body").height(); 
    var hWindow = $(window).height(); 

    if(hContent>hWindow) { 
     $('#scroll-top').fadeIn(250);  
    } 
    else { 
     $('#scroll-top').fadeOut(250); 
    } 
} 
0
function scrollTopCheck() { 

     if(hContent>hWindow) { 
     $('#scroll-top').fadeIn(250);  
     } 
     else { 
      $('#scroll-top').fadeOut(250); 
     } 
    } 




setInterval(500, scrollTopCheck); //this would call scrollTopCheck function every 1/2 second 

但是它能够更好地定义在$ .toggle回调(回调

$('.elementsToToggle').toggle(scrollTopCheck);