2012-01-10 64 views
0

我想有以下网页滚动的tipical菜单页面滚动标题,下面就没有跟随

我想改变与页面滚动有关的marginTop位置,

$(document).ready(function(){ 

    $(window).scroll(function(){ 
     var v= $(document).scrollTop(); 
     console.log(v); 
     if(v>50){ 
      $('.menu').css({'marinTop':v+'px'}); 
      console.log(true); 
     }else{ 
      $('.menu').css('marginTop','50px');       
      console.log(false); 
     } 
    }); 
}); 

但只是不会动吧...:■

+2

您有一个额外的括号在这里:'function()({' – 2012-01-10 12:09:34

+0

OH男人....谢谢! – 2012-01-10 12:10:07

回答

1

这里:

$(document).ready(function(){ 
    $(window).scroll(function(){ 
     var value = $(window).scrollTop(); 
     if(value>+$('.menu').css('marginTop').replace(/px$/, "")) { 
      $('.menu').css({'position':'fixed','top': 0}); 
     }else{ 
      $('.menu').css('position','static');       
     } 
    }); 
}); 

固定两两件事:

  • 删除了".px"css("marginTop")返回"50px",不能相比号)
  • 你真的应该使用“position: fixed”,而不是一个javascript更新的“position: absolute
+0

我想我会在最后使用这个问题。所以该项目可以在任何地方http://jsfiddle.net/8zLuz/43/ – 2012-01-10 12:34:58