jQuery: fadeIn() 对我不起作用,语法错误?

jQuery: fadeIn() isn't working for me, syntax error?

我正在使用 mouseover 和 mouseleave 淡化 in/out 我的 login/signup 按钮。但我不能让他们再次淡入淡出?我已经尝试了一些东西,我在 google 上找到的所有内容都证实我的语法没问题?我不确定。

$( 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)
  })

});

fadeTo 方法操作元素的 opacity 属性。您应该改用 fadeOut 或再次使用 fadeTo 而不是 fadeInfadeIn 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);
   });
});