javascript - jQuery:fadeOut() 与 html(),奇怪的行为

标签 javascript jquery html

在制作一个简单的随机报价机(我正在参加的编码类(class)的一部分)时,我在尝试淡出 HTML 中的一个元素时遇到了问题,然后应该在其中添加一些新的 HTML 并将其淡出中。这是代码:

  $(".quote-text").fadeOut(function() {
     $(this).html("<p>" + quotes[currentQuoteNum] + "</p>").fadeIn();
  });

quotes[currentQuoteNum] 只是指我拥有的报价字符串列表。由于某种原因,fadeInfadeOut 函数都无法正确设置动画。在用新报价更新我的 HTML 之前存在延迟,但动画未显示。现在,如果我像这样删除 p 元素:

$(".quote-text").fadeOut(function() {
    $(this).html(quotes[currentQuoteNum]).fadeIn();
});

然后它就起作用了,fadeInfadeOut 动画都会播放。我需要在那里有 p 元素,因为在它们内部我添加了另外两个元素,以使用特殊的样式类在我的引用周围创建引号。为了简单起见,我省略了这些。我知道还有其他方法,但我想知道为什么会发生这种情况。

显然这与向我的 HTML 添加标签有关,但我无法找出它是什么。请解释一下?

最佳答案

代码对我来说看起来很好,不应该是一个问题。 这是一个 codepen,它可以正常工作 Fade codepen

$(".quote-text").fadeOut(function() {
     $(this).html("<p>" + "Oh Good"+ "</p>").fadeIn();
  });

为什么不检查变量的内容。可能它的格式不正确

关于javascript - jQuery:fadeOut() 与 html(),奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34561796/

相关文章:

javascript - 使用 javascript/jquery 打印选定的页面

c# - 如何在 ASP.NET MVC 3 中限制文件上传为 JPG、PNG 和 GIF

JavaScript Accordion 菜单适用于 IE,不适用于 Chrome 或 Firefox

javascript - BundleConfig.cs 不会在 ASP.NET MVC 应用程序中下载 Breeze.js

javascript - 如何获取行框的高度一个 block 元素,里面有内联元素,在呈现时由

javascript - 可以指向以 javascript ://execute any code? 开头的 URL 的链接吗

javascript - 在 HTML 中显示 PHP var(使用 jQuery)

javascript - ChangeTip 有 API 吗?

javascript - 停止 jQuery 函数在页面加载时运行

javascript - 使用AJAX : Send variables to a PHP file which generate XML from a Database