2014-02-13 29 views
1

我的代碼應該讓我的標題變得更薄,而我滾動。我的導航欄保持不動,但我想在滾動條的同時在導航欄中添加填充。如何在此代碼中定位我的導航欄?

但是,我似乎無法瞄準我的導航欄,你能提出建議嗎?

這是小提琴!

http://jsfiddle.net/MGc7y/

$(function(){ 
    $('#header').data('size','big'); 
}); 

$(window).scroll(function(){ 
    var $nav = $('#header'); 
    if ($('body').scrollTop() > 0) { 
     if ($nav.data('size') == 'big') { 
      $nav.data('size','small').stop().animate({ 
       height:'40px' 
      }, 600); 
     } 
    } else { 
     if ($nav.data('size') == 'small') { 
      $nav.data('size','big').stop().animate({ 
       height:'90px' 
      }, 600); 
     } 
    } 
}); 
+1

你可以創建一個的jsfiddle http://jsfiddle.net – dreamweiver

回答

0

UPDATE

其preatty簡單,你永遠不會進入if

試試這個:

$(window).scrollTop() 

$('body').scrollTop() 

獲得Firefox的Firebug,並嘗試調試下一次這樣的例子:

$(window).scroll(function(){ 
    console.log($('body').scrollTop()); 

結果:總0


我不明白你的問題/問題,你應該做一個fiddle.net或至少一些HTML標記。你是什​​麼意思:我似乎無法在代碼中定位我的導航欄。

這裏是一些其他的建議可能會幫助:

$(function(){ 
    //Here is better, otherwise you selecting it on scroll x times for no reason.. 
    var $nav = $('#header'); 

    //Also on DOMready 
    $(window).scroll(function(){ 
     if ($('body').scrollTop() > 0) { 
      //if ($nav.data('size') == 'big') { // if you dont have an other reason, you could let it away 
      $nav.stop().animate({ 
       height:'40px' 
      }, 600); 
      //} 
    } else { 
     //if ($nav.data('size') == 'small') { 
     $nav.stop().animate({ 
      height:'90px' 
     }, 600); 
     //} 
    } 
    }); 
}); 
+0

有一種小提琴,你可以檢查! –