向下滚动1000px后更改CSS类

一旦用户向下滚动1000px,我想在我的网站的左栏中显示一个固定的菜单,但对jQuery / JS不是很有经验。 我认为这样的东西会起作用,但它没有做任何事情:

HTML:

 

样式:

 #menu{display:none;}​ 

JQ:

 var fixed = false; ​$(document).scroll(function() { if( $(this).scrollTop() > 100 ) { if( !fixed ) { fixed = true; $('#menu').css({position:'fixed', display:'block'}); } } else { if( fixed ) { fixed = false; $('#menu').css({display:'none'}); } } });​ 

问:

有什么理由不起作用吗? 该代码是http://jsfiddle.net/roXon/psvn9/1/上的一个示例,即使我将该示例完全复制/粘贴到空白的html页面中,并带有最新jquery库的链接,仍然不像在那个jsfiddle页面那样工作。 我能俯瞰什么?

您的示例中的大括号错误,但无论如何,您可以简化代码:

CSS

 #menu { display : none; position : fixed; } 

JS

  $(document).scroll(function() { $('#menu').toggle($(this).scrollTop()>1000) });​ 

演示 : http : //jsfiddle.net/elclanrs/h3qyV/1/

像这样编辑

 if( $(this).scrollTop() > 1000 ) 

你正在寻找1000px滚动,但由于你的代码它出现100px