Javascript 为什么jQuery';s show()和hide()方法触发淡入淡出?

Javascript 为什么jQuery';s show()和hide()方法触发淡入淡出?,javascript,jquery,html,Javascript,Jquery,Html,我现在正试图在客户端显示和隐藏tweet,但jQuery正在hide()上折叠元素,并在show()上淡入 相关HTML: <aside> <div class="tweet-author"> <p class="name">Graham Swan</p> <p class="position">Managing Partner</p> </div> <div class="t

我现在正试图在客户端显示和隐藏tweet,但jQuery正在
hide()
上折叠元素,并在
show()
上淡入

相关HTML:

<aside>
  <div class="tweet-author">
    <p class="name">Graham Swan</p>
    <p class="position">Managing Partner</p>
  </div>

  <div class="tweet">
    <blockquote>Just had the greatest cup of coffee ever!</blockquote>
    <div class="clearfix">
      <time>2 minutes ago <span>via</span> Twitter</time>
      <a href="#">Hide Tweets</a>
    </div>
  </div>
</aside>
jQuery正在执行以下操作:

  • 在调用
    hide()
    时,折叠
    div.tweet
    元素,而不是立即隐藏它
  • 淡入(在webkit浏览器中)或扩展(在moz浏览器中)
    div.tweet
    元素,而不是在调用
    show()
    时立即显示它
我尝试了jQuery的v1.7.2和v.1.8.2,以及不同的浏览器,但都产生了相同的效果

有人知道为什么会发生这种情况吗?


如果有帮助,您可以在上看到一个实例。

您正在使用的方法签名(
.hide(duration[,callback])
)用于动画隐藏。立即隐藏的签名就是
$(“div.tweet”).hide()
若要立即隐藏元素,可以在回调参数之前的持续时间内传递参数
0

更好的是,只需在调用
$(“div.tweet”).hide()之后立即调用函数即可。你真的不需要回调;隐藏操作是同步的

$("div.tweet").hide();
(function() {
    $("div.tweet-author > p.name").html("Show Recent Tweets");
    $("div.tweet-author > p.position").html("By the iNovia Team");
    $("aside").addClass("click-to-show-tweets");
  })();

您需要更改隐藏和显示的持续时间

$("div.tweet").hide(0, function() ...

$("div.tweet").show(0, function() ...

那是个愚蠢的错误。谢谢你的帮助!我还意识到,元素淡入的原因是在页面加载时为它们指定了一个关键帧动画。现在一切正常!
$("div.tweet").hide(0, function() ...

$("div.tweet").show(0, function() ...