我现在正试图在客户端显示和隐藏推文,但 jQuery 正在折叠元素 onhide()
并将其淡入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>
相关的 JavaScript:
// Hide tweets when "Hide Tweets" link is clicked
$(document).on('click', 'div.tweet > div.clearfix > a', function(e) {
e.preventDefault();
$("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");
});
});
// Show tweets when "Show Recent Tweets" link is clicked
$(document).on('click', 'aside.click-to-show-tweets', function(e) {
e.preventDefault();
$("div.tweet").show(function() {
$("div.tweet-author > p.name").html("Graham Swan");
$("div.tweet-author > p.position").html("Managing Partner");
$("aside").removeClass("click-to-show-tweets");
});
});
jQuery 正在执行以下操作:
- 在调用时折叠
div.tweet
元素而不是立即隐藏它。hide()
- 淡入(在 webkit 浏览器中)或扩展(在 moz 浏览器中)
div.tweet
元素,而不是在show()
调用时立即显示它。
我已经尝试过 jQuery 的 v1.7.2 和 v.1.8.2 以及不同的浏览器,但都产生了相同的效果。
有谁知道为什么会这样?
如果有帮助,您可以在http://grahamswan.com/clients/inovia看到一个实时示例。