javascript - JQuery 简单动画不起作用

标签 javascript jquery html

我一直在尝试使用 jQuery 创建一个简单的动画,唯一的问题是,无论我尝试了什么,它似乎都不起作用。我想做的就是创建一个显示/隐藏按钮,显示然后隐藏一个句子。我两天前才开始学习 jQuery,所以可能有一个简单的错误。

这是我的代码:

<body>
    <input type="button" value="Hide" id="toggle_message" />
    <p id="message">You can see this</p>
    <script type="text/javascript" src="JQuery\jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="JQuery\toggle.js"></script>
</body>

从中,您可以看到我已从我的计算机导入了 jQuery 库,并尝试使用具有显示/隐藏代码的第二个脚本。

这也是:

$('toggle_message').click(function() {
  var value = $('#toggle_message').attr('value');
  $('message').toggle('fast');

  if (value == 'Hide') {
    $('toggle_message').attr('value', 'Show');
  } else if (value == 'Show') {
    $('toggle_message').attr('value', 'Hide');
  }
});

即使保存为 .js 文件,文本似乎也不会像 HTML 中那样改变颜色。有人可以澄清这是否应该发生吗?我现在正在使用 Notepad++,如果有帮助的话。

最佳答案

您的选择器语法略有错误,您可以稍微简化您的代码。

$('#toggle_message').click(function() {
  $('#message').toggle('fast');

  if ($(this).val() == 'Hide') {
    $(this).val('Show');
  } else {
    $(this).val('Hide');
  }
}

jQuery 中的选择器通常在按 id 选择时使用 #,或在按类选择时使用 .

在函数内部,因为它是在 #toggle_message 元素上调用的,所以您可以简单地将其引用为 $(this)

关于javascript - JQuery 简单动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34701203/

相关文章:

javascript - 获取 jquery tmpl 中的索引

jquery - 使用asp.net更改jquery ajax中的css

java - 如何在不刷新页面的情况下从服务器获取数据

javascript - Mozilla 声明表达式也是语句。为什么?

jquery - 制作一个可重新排序、灵活调整大小的网站

javascript - 通过多个名称查找元素 jQuery

jquery - float 到滚动区域的 ul 列表

javascript - 没有任何服务器脚本的简单 HTML POST,可以使用 JS 完成

javascript - Node 错误 : write after end in NodeJS

javascript - 使用 Strapi 中的某些条件获取数据