2012-04-15 46 views
0

我有一个寻呼机。和在那一个寻呼机,我有一个是(在一个div固定侧NAV)设置为display:none的项目。CSS JS显示没有改变DIV

我可以把它显示滚动一定DIV是什么时候?

所以开始时的代码,但没有显示出来,然后当用户滚动到#about可以边导航显示?

+2

可以显示标记或提供jsfiddle.net元素? – 2012-04-15 00:54:47

+0

此代码使得在滚动声音时很容易显示div。 http://joelb.me/scrollpath/ – felickz 2012-04-15 01:16:23

回答

1

基本上你将需要检查用户是否已滚动到或超过关于DIV ID。 首先,您需要建立div的当前Y值。

//cache about div 
var about = $('#about'); 
//this caches the about div position on window load 
var aboutPosition = about.position(); 

接下来,您将需要确定用户滚动的距离。我决定完成这件事的最好方法是使用计时器。您可以使用scoll事件,但它对用户浏览器太重了,而计时器大部分难以区分。

//generic timer set to repeat every 10 mili(very fast) 
//with a callback to execute the logic 
var checkScrollPos = window.setInterval("scrollTopLogic()",10); 

function scrollTopLogic(){ 
    //if about y position is greater than or equal to the 
    //current window scroll position do something 
    if(aboutPosition.y >= $(window).scrollTop()){ 
     $('nav').show(); 
     //remove timer since it is no longer needed 
     window.clearInterval(checkScrollPos); 
    } 
} 
+0

这太棒了!非常感谢你! – Michael 2012-04-17 14:18:57

0

您可以赶上div的滚动事件,并表示这样的

$("#div").scroll(function() { 
    $("#item").show(); 
});