2012-06-19 3 views
2

Используемый мной механизм вызывает скрипт jQuery tabs.js для обработки функций табуляции. Проблема в том, что в любое время, когда вкладки находятся в верхней части страницы, и вы нажимаете на ссылку, они быстро прокручивают назад вниз в нижней части страницы. Я пытался решить эту проблему часами, и все решения указывают на аналогичные ответы, но никто не работает для меня.Остановить jquery TABS от прыжка/прокрутки при нажатии?

$.fn.tabs = function() { 
var selector = this; 

this.each(function() { 
    var obj = $(this); 

    $(obj.attr('href')).hide(); 

    $(obj).click(function() { 
     $(selector).removeClass('selected'); 

     $(selector).each(function(i, element) { 
      $($(element).attr('href')).hide(); 
     }); 

     $(this).addClass('selected'); 

     $($(this).attr('href')).fadeIn(); 

     return false; 
     e.preventDefault(); 
    }); 
}); 

$(this).show(); 

$(this).first().click(); 
}; 

Согласно предложенному исправлению я нашел, я изменил один из строк выше следующим образом:

$($(element).attr('href')).fadeOut(1); 

Я также попытался добавить e.preventDefault(); после возврата false; но все равно не повезло?!? Я смог найти site that runs a different template, и проблема там не существует. Я использую Firefox и изучаю код, чтобы попытаться найти, как они это делают, но после нескольких часов удара стены я ищу вашу мудрость о мудрых!

+0

Вот демо показывает поведение прыжки вкладок Я имею в виду: [ссылка] (HTTP: // демо. opencart.com/index.php?route=product/product&path=20_27&product_id=41) – Stefan

ответ

3

В HTML, просто добавьте onclick="return false;" и прыжки остановится, например:

<ul> 
    <li><a href="#tabsDetails" id="tabsDetailsLink" onclick="return false;" >Details</a></li> 
    <li><a href="#tabsAddress" id="tabsAddressLink" onclick="return false;" >Address</a></li> 
</ul> 
Смежные вопросы