2010-03-05 53 views
1

我试图显示/隐藏用户Twitter的饲料时,点击图标。问题是,我的标记看起来像这样:jquery show hide非块元素的问题

<a href="#"><img src='images/twitter.png' id='twitterImg' /></a> 
<span id='twitter_msg'><? include('PHP/twitterJSON.php'); ?></span> 

和我的jQuery使用的slideToggle()

$('#twitterImg').click(function() { 
$('#twitter_msg').slideToggle('slow'); 
}); 

,工作正常,但<img><span>显示内嵌飘然离去。当我点击img时,它会切换<span>,但似乎将它变成块级别的元素或东西,它会下降到下一行。

我真正想要达到的效果是将它们浮起来,让<span><img>在出现时按下,然后在其隐藏时再次折回。

+0

在这种情况下,我们还需要CSS,您可以使用它更新问题吗? – 2010-03-05 00:30:15

+0

从字面上来说,唯一相关的css应用于上述两行的容器div(float:left;) 我应该只是将一个float应用于span: – kalpaitch 2010-03-05 00:35:48

+0

老实说,在这种情况下,我会使用淡入淡出,如果可以避免,重新流动文档不是一个好主意,那是一个选项吗? – 2010-03-05 01:23:45

回答

1

我将不得不假设jquery会在将效果应用于块级元素之前将其更改为块级元素。我已经通过浮动IMG和跨度来纠正这一问题,尽管我不知道是否有人有其他解决方案。

+2

这不是你必须假设的。这就是jQuery为show(display:block)和hide(display:none)所做的所有效果。显示/隐藏更容易解决,但我不知道动画。如果你使用FF,你可以尝试安装萤火虫,这样你就可以看到动画/ jQuery实时发生了。 – 2010-03-05 01:08:02