2010-03-27 4 views
-1

Привет всем, я стараюсь изо всех сил, чтобы выяснить, как идти об этом:JQuery изображение выцветания с закладками

У меня есть 2 вкладки. При загрузке страницы tab1 выбирается автоматически. Это показывает вкладку как 1,0 прозрачность, в то время как tab2 остается равным 0,7.

Как только пользователь нажимает на tab2, tab1 переходит в 0.7 прозрачности, а tab2 переходит в 1.0. Тем не менее, я не могу заставить его это сделать!

Вот мой код:

<script type="text/javascript"> 
function checkTab(theTab) 
{ 
    $('#tab1').fadeTo(250, 0.70); 
    $('#tab2').fadeTo(250, 0.70); 

    if ($("#tabActive").val() == theTab) 
    { 
     $(theTab).fadeTo(250, 1); 
    } 
} 

$(document).ready(function() { 
    $('#tab1').hover(function() {$(this).fadeTo(250, 1)}, function() {checkTab('#tab1')}); 
    $('#tab2').hover(function() {$(this).fadeTo(250, 1)}, function() {checkTab('#tab2')}); 

    $('#tab2').fadeTo(250, 0.70); 
    $('#tabActive').val('tab1'); 
}); 
</script> 

<li class="stats"><img src="images/Stats.png" name="nav1" width="70" height="52" id="tab1" onclick="$('#tabActive').val('tab1');" /></li> 
<li class="cal"><img src="images/cal.png" name="nav1" width="70" height="52" id="tab2" onclick="$('#tabActive').val('tab2');" /></li> 

<input name="tabActive" id="tabActive" type="text" /> 

Любая помощь будет здорово! :)

David

ответ

0

Вы вводите значение tab1 в tabActive.val(), но проверить #tab1. Решите, хотите ли вы или не хотите, # в селекторе =)

$(document).ready(function() { 
    $('#tab1').hover(function() {$(this).fadeTo(250, 1)}, function() {checkTab('#tab1')}); 
    $('#tab2').hover(function() {$(this).fadeTo(250, 1)}, function() {checkTab('#tab2')}); 

    $('#tab2').fadeTo(250, 0.70); 
    $('#tabActive').val('#tab1'); 
}); 

(И на самом деле, более чистый способ сделать это может быть просто ввести номер (1 или 2), а затем построить строку в функции проверки. Но это только я думаю, что строки выглядят уродливыми в javascript и пытаются их избежать ...)

+0

Хм, я сделал это, но он, похоже, не помогает (я закончил тем, что поставил «#» на всех из них) Когда страница загружается, tab1 равен 1.0, а tab2 равен 0,70, что является правильным. Но если я нахожу свой дом над tab2, а затем выключен, tab1 переходит в 0.7, а также tab2. Когда я наводил курсор на tab1 и затем выключен, tab1 возвращается к 1.0. – StealthRT

+0

Вы никогда не изменяете значение '$ ('# tabActive')', поэтому, если вы хотите, чтобы вкладка 2 оставалась подсвеченной после простой мыши (а не щелчка или что-то еще, чтобы выбрать вкладку), вам придется измените значение в вызове наведения. –

Смежные вопросы