对 slideToggle() jQuery 没有影响
Posted
技术标签:
【中文标题】对 slideToggle() jQuery 没有影响【英文标题】:No effect on slideToggle() jQuery 【发布时间】:2011-01-24 11:52:59 【问题描述】:我正在使用这个非常简单的 jQuery 代码:
$("h3").click(function()
$(this).next("table").slideToggle("slow");
);
结果本身确实有效,并且表格确实在点击时出现/消失,但“滑动”没有任何效果 - 我尝试过没有“慢”和“慢” - 结果相同!?
这几乎就像我只是在使用 .toggle()...
除了表格的大小(最大只有 12 行)之外,我看不出有什么问题。
有什么想法吗?
【问题讨论】:
你能发一个测试用例的jsFiddle吗? 你使用的是什么浏览器,我在 ie 中遇到了一些 jquery 动画问题,但在 Opera 中运行良好 FF,甚至还没有在 IE 中打扰(但)显然 jQuery 幻灯片与表格元素有问题:( 【参考方案1】:我不认为 slideToggle 适用于所有元素...表格可能是其中之一...您可以将表格放在 div 中并在 div 上运行 slideToggle 吗?
试试这个...
<h3>click</h3>
<div>
<table>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
</table>
</div>
和
$("h3").click(function()
$(this).next("div").slideToggle("slow");
);
此处显示的工作示例...http://jsfiddle.net/68mcY/
【讨论】:
我不知道可能是这种情况,谁知道!?会试试这个 我确实试过这个。但是当点击时,div 卡住了一毫秒然后又向上滑动(它实际上并没有向下滑动到足以显示表格的程度) 嗨,汤姆,感谢您的编辑,但这正是我所做的! 嗯...我不能让它不工作!试试我刚刚添加的链接,看看它是否适合你。【参考方案2】:这很好用。
$("h3").click(function ()
$("#tbl").slideToggle("slow");
);
<h3>a</h3>
<table id="tbl">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
</table>
【讨论】:
我放 .next() 的原因是它只针对它下面的表,而不必标识所有表 好的,谢谢指出。从我的 POC 中,我发现“表格行不支持动画。”***.com/questions/467336/…以上是关于对 slideToggle() jQuery 没有影响的主要内容,如果未能解决你的问题,请参考以下文章