2013-08-02 343 views
0

我運行這個jQuery腳本滾動的divJQuery的動作滾動窗口向下

http://jsfiddle.net/sg3s/rs2QK/

jQuery(function($) { 

     $('a.panel').click(function() { 
      var $target = $($(this).attr('href')), 
       $other = $target.siblings('.active'); 

      if (!$target.hasClass('active')) { 
       $other.each(function(index, self) { 
        var $this = $(this); 
        $this.removeClass('active').animate({ 
         left: $this.width() 
        }, 500); 
       }); 

       $target.addClass('active').show().css({ 
        left: -($target.width()) 
       }).animate({ 
        left: 0 
       }, 500); 
      } 
     }); 

    }); 

問題是,如果例如,上面有具有一定高度,這JQuery的兩個div的報頭將滾動窗口爲相同的標題高度的行動。

有什麼辦法可以防止這種情況發生?

感謝

回答

0

使用在底部返回false,結合事件錨element.It將阻止在URL和您的問題添加#時。

$(document).ready(function(){ 
    $('a.panel').click(function(e) { 
     e.stopPropagation(); 
     var $target = $($(this).attr('href')), 
      $other = $target.siblings('.active'); 

     if (!$target.hasClass('active')) { 
      $other.each(function(index, self) { 
       var $this = $(this); 
       $this.removeClass('active').animate({ 
        left: $this.width() 
       }, 500); 
      }); 

      $target.addClass('active').show().css({ 
       left: -($target.width()) 
      }).animate({ 
       left: 0 
      }, 500); 
     } 
     return false; 
    }); 
});