2013-08-02 3 views
0

Я бегу этот скрипт JQuery для прокрутки дивыJQuery окно прокручивается вниз действий

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 будет прокручивать окно вниз для той же высоты заголовка при действии.

Есть ли способ предотвратить это?

Благодаря

ответ

0

Использование возвращают ложные в нижней части, при привязке события на якорь 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; 
    }); 
}); 
Смежные вопросы