对 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 没有影响的主要内容,如果未能解决你的问题,请参考以下文章

在 IE7 中使用 jquery slideToggle 时内容消失

jQuery SlideToggle 谷歌地图问题

jQuery 效果 - slideToggle() 方法

slideToggle 在 IE 9 中停止工作

jquery幻灯片-slideToggle

jQuery slideToggle 问题