2013-02-20 4 views
1

я пытаюсь сделать эффект парения, используя этот скрипт:JQuery Hover MouseEnter MouseLeave

function itemhover(){ 
    $(".item").mouseenter(function(){ 
     $(".mask").fadeIn(); 
    }) 
    $(".item").mouseleave(function(){ 
     $(".mask").fadeOut(); 
    }) 
} 

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

Кроме того, когда я пропускаю мышь в положение и быстро, эффект затухания сходит с ума, как будто он не останавливается, а затем через какое-то время останавливается, почему?

благодаря

+1

как там отношение между элементом '' .item' и .mask'? Вам придется пройти через вниз, чтобы найти этот конкретный элемент на основе текущего зависающего элемента '$ (this)'. Пожалуйста, включите ваш HTML в вопрос для полного решения. – Stefan

ответ

1

Это звучит как .mask элемент содержится внутри вашего .item элемента. Если это так, вы можете использовать $(this), чтобы «установить область» зависающего элемента (это относится к зависающему элементу).

function itemhover(){ 
    $(".item").mouseenter(function(){ 
     $(this).find(".mask").stop(true, true).fadeIn(); 
    }) 
    $(".item").mouseleave(function(){ 
     $(this).find(".mask").stop(true, true).fadeOut(); 
    }) 
} 

Кроме того, вы можете цепи .stop(true, true) до вашего выцветанию эффекта анимации, чтобы остановить все ранее очередь анимации и перейти к концу последней очередью анимации.

+0

это прекрасно, он работает хорошо и не более анимационный странный эффект. благодаря! – 2013-02-20 15:11:22

+0

Да, «.маска» находится внутри «.item» спасибо за объяснение – 2013-02-20 15:12:44

0

вы можете использовать это заявление

$(".mask",this).fadeIn(); 
Смежные вопросы