2015-02-12 2 views
0

Я использую mouseover & mouseleave, чтобы затухать в/из моих кнопок входа/регистрации. Но я не могу заставить их снова исчезнуть? Я пробовал несколько вещей, и все, что я нашел в google, подтверждает, что мой синтаксис в порядке? Я не уверен.jQuery: fadeIn() не работает для меня, синтаксическая ошибка?

$(document).ready(function() { 

    $('.sign-up').on('mouseover', function(){ 
    $(this).fadeTo(200, .2) 
    }) 


    $('.sign-up').on('mouseleave', function(){ 
     $(this).fadeIn(200) 
    }) 

    $('.log-in').on('mouseover', function(){ 
    $(this).fadeTo(200, .2) 
    }) 


    $('.log-in').on('mouseleave', function(){ 
     $(this).fadeIn(200) 
    }) 

}); 

ответ

2

fadeTo метод манипулирует opacity свойство элемента. Вместо этого вы должны использовать fadeOut или использовать fadeTo вместо fadeIn. fadeIn и fadeOut Управление имуществом display.

$(this).fadeTo(200, 1); 

Вы также можете Минимизировать код:

$(document).ready(function() { 
    $('.sign-up, .log-in').on('mouseenter mouseleave', function(e) { 
     $(this).fadeTo(200, e.type === "mouseenter" ? .2 : 1); 
    }); 
}); 
+0

Благодаря этим работал. По какой-то причине fadeOut тоже не работал для меня, но сменил fadeIn на fadeTo. – roguerat

+0

@roguerat Приветствую вас. – undefined