2012-05-22 3 views
0

Я использую jQuery для создания вкладок на странице. Моя проблема заключается в том, что если вы находитесь в плохой связи, области, которые скрыты скриптом, мерцают и показывают, прежде чем скрываться.Избегайте мерцания при загрузке/пользовательских вкладках jQuery

Если кто-то может помочь мне изменить этот сценарий, чтобы избежать этого, я был бы очень благодарен, это выглядит следующим образом:

jQuery(document).ready(function($){ 

$('ul.tabs').each(function(){ 
// For each set of tabs, we want to keep track of 
// which tab is active and it's associated content 
var $active, $content, $links = $(this).find('a'); 

// Use the first link as the initial active tab 
$active = $links.first().addClass('active'); 
$content = $($active.attr('href')); 

// Hide the remaining content 
$links.not(':first').each(function() { 
    $($(this).attr('href')).hide(); 
}); 

    // Bind the click event handler 
    $(this).on('click', 'a', function(e){ 
    // Make the old tab inactive. 
    $active.removeClass('active'); 
    $content.hide(); 

    // Update the variables with the new link and content 
    $active = $(this); 
    $content = $($(this).attr('href')); 

    // Make the tab active. 
    $active.addClass('active'); 
    $content.show(); 

    // Prevent the anchor's default click action 
    e.preventDefault(); 
}); 
}); 
}); 
+0

почему Дон» t вы используете 'display: none;' свойство css? позже показать/скрыть элементы с помощью jQ. – Bongs

+0

Мне не нравится jQuery. Вы имеете в виду, установите начальный показ в моем css равным никому, а затем загрузите dom, установите его в нормальное состояние? Тогда просто позвольте этому сценарию сделать свое дело? –

ответ

1
.ul.tabs {display:none} 

И показать его на готовом

jQuery(document).ready(function($){ $('ul.tabs').show()} 
+0

ul.tabs - это список/меню для отображения/скрытия областей с вкладками. Я добавил класс «вкладки» в мои области с вкладками и вместо этого использовал ваш код для них, и это сработало. Так что спасибо! –