2013-11-22 4 views
0

Я довольно новичок в jQuery, но чувствую, что у меня довольно приличное понимание. Или, по крайней мере, эта его часть. Я прошел через несколько учебников по jQuery, но я никогда не сталкивался с этой проблемой раньше.jQuery hover только работает один раз

Я хочу навести на изображение и показать ему небольшой абзац рядом с ним. Я написал этот jQuery, который делает именно то, что я хочу, чтобы он делал, за исключением того, что он работает только один раз. Нависание над изображением показывает абзац описания, а перемещение за пределы изображения скрывает его снова, но тогда зависание ничего не сделает. Есть идеи, почему это может быть?

$(document).ready(function(){ 
    $('#novelDescrip').hide(); 
    $('#barDescrip').hide(); 

    $('.novel').hover(function(){ 
     $('#novelDescrip').fadeIn('slow', 1); 
    }, 
    function(){$('#novelDescrip').hide();} 
    ); 

    $('#barminder').hover(function(){ 
     $('#barDescrip').fadeIn('slow', 1); 
    }, 
    function(){$('#barDescrip').hide(); 
    }); 

}); 
+0

Опубликуйте свой HTML. – j08691

+0

Используйте toggle() вместо того, чтобы исчезать и скрываться. http://api.jquery.com/toggle/. Я считаю, что второй аргумент в .fadein должен быть функцией –

+0

Просто используйте ** fadeIn ('slow'); ** – ggdx

ответ

0

Это должно объяснить использование переключателя, а также ссылку, которую разместил Хорхе.

How do I check if an element is hidden in jQuery?

Вот несколько способов, чтобы вы начали с функцией переключения JQuery:

$('.click').click(function() { 
    $('.target').toggle(); 
}); 

$('.click').click(function() { 
    $('.target').slideToggle(); 
}); 

$('.click').click(function() { 
    $('.target').fadeToggle(); 
}); 

слайд и выцветанию используются, чтобы дать тумблер слайд или исчезать эффект.

Вы также можете использовать следующие атрибуты для различных вещей:

$('element:hidden') 
$('element:visible') 

Или вы можете сделать то же самое с является:

$(element).is(":hidden")  
$(element).is(":visible") 

Ответ на ваш вопрос:, так как вы Бесполезный Не публикуйте свой html. Я ничего не могу проверить для вас, но я бы рекомендовал следовать приведенным выше инструкциям или изменить hide() до показать() в некоторых частях вашего кода.

Надеюсь, что это поможет.

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