javascript – jQuery返回相同的不透明度

我试图使用具有不透明度css属性的简单动画:

$('#testAnimation').click(function (event) {
    if ($(this).css('opacity') == 0) {
        $('#animationTarget').animate({opacity: 1}, 'slow');
    } else {
        $('#animationTarget').animate({opacity: 0}, 'slow');
    }
});

第一次,元素被成功隐藏.但是当我第二次点击按钮时,$(this).css(‘opacity’)返回值“1”.

在浏览器中进行调试时明确表示不透明度为0.

有人可以解释这种行为吗?

解决方法:

您正在检查此不透明度并更改其中一个#animationTarget.

这应该这样做:

$('#testAnimation').click(function (event) {
  if ($('#animationTarget').css('opacity') == 0) {
    $('#animationTarget').animate({opacity: 1}, 'slow');
  } else {
    $('#animationTarget').animate({opacity: 0}, 'slow');
  }
});
上一篇:java – 如何更改位图的不透明度?


下一篇:JavaScript的运动原理2