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

标签 javascript jquery css opacity

我正在尝试使用带有 opacity 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"

在浏览器中调试清楚地表明 opacity0

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

最佳答案

您正在检查 thisopacity 并更改 #animationTarget 之一。

应该这样做:

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

关于javascript - jQuery 返回相同的不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754793/

相关文章:

javascript - If 语句在应该为 true 时返回 false

javascript - 需要 jquery 或 javascript 来限制 textarea 中的每行长度

css - 嵌入 YouTube 视频会更改 iframe 外元素的字体外观

javascript - 如何在不重定向的情况下获取 PHP 脚本?

javascript - <span id ="display_XXXXX"></span> 不显示任何内容,或显示 "undefined"

javascript - jQuery Multiselect - 全选并带有过滤搜索

html - Bootstrap 中的中心图像

javascript - 如何在 Angular Controller 中使用按钮 id?

javascript - 如果字符串长度大于 n ,如何 chop 字符串

javascript - jQuery:保存异步调用结果以供稍后使用?