2012-01-27 2 views
1

У меня есть этот скрипт с маленьким наведением.если класс является «текущим», тогда сделайте это

$('iframe').hover(function() { 
    $('.caption').fadeIn(800); 
}, 
function() { 
    $('.caption').fadeOut(800); 
}); 

Когда я наводил курсор на iframe, он исчезает в заголовке класса. Когда я выхожу из режима наведения, он исчезает. Достаточно просто.

Я использую плагин, который добавляет класс «текущий» к текущей панели, которая находится в поле зрения. Как я могу добавить к этому коду, поэтому этот эффект ТОЛЬКО случается, если у панели есть класс «current».

Спасибо!

+1

Какая панель? Вы пробовали комбинированный селектор, например. '$ (. caption.active ')' или '$ (this) .hasClass (' active ')'? –

+0

Это можно сделать с помощью CSS (': hover' +' opacity' + 'transition:'). Нет необходимости в JavaScript. –

ответ

3

Вы можете использовать jQuery is method так:

$('iframe').hover(function() { 
    if ($(this).is('.current')) { 
     $('.caption').fadeIn(800); 
    } 
}, 
function() { 
    if ($(this).is('.current')) { 
     $('.caption').fadeOut(800); 
    } 
}); 

Или же, если вы хотите только целевой .caption элементы, которые являются потомками .current (если IFrame не «панель» с текущей CSS класс):

$('iframe').hover(function() { 
    $('.current').find('.caption').fadeIn(800); 
}, 
function() { 
    $('.current').find('.caption').fadeOut(800); 
}); 
+0

Спасибо! Мне нужно было только нацеливать div на класс текущего. Это сработало отлично. Я вижу, как работает .find mot hod. Спасибо! – Ryan