jQuery slideToggle(),带有Internet Explorer和jumpy动画

时间:2009-10-29 11:59:23

标签: jquery internet-explorer hide show slidetoggle

我的jquery有一个大问题。 我终于认为我的slidetoggle在firefox中运行了。 动画结束时动画有点跳跃。 我阅读了很多变通方法,但不知怎的,我真的没有任何帮助。 也许你们中的任何人都可以让我摆脱这种困境。

另一个更大的问题是隐藏的div很遗憾 在Internet Explorer中直接显示。我在IE6和7中测试过它。 滑动效果也很奇怪。

你是否有人知道我是否必须为IE浏览器提供额外的样式

这是我正在处理的网站:

http://www.haus-plan.de/_01_Hausplan/

红色标题可在内容区域中滑动,右侧面板上的两个幻灯片单词可以滑动。

我注意到Internet Explorer正确运行右侧面板上的第一个幻灯片字。 这里的div首先被隐藏,只有当我们点击并让它向下滑动时才显示。 但是对于其他的div,他们在开头就显示出来了.......

请帮助我......

2 个答案:

答案 0 :(得分:1)

要在加载时隐藏div,请尝试将“d_show _hide”类设置为“display:none”,然后将其放在DOM上:

$('.d_show_hide').show();

CSS将加载样式设置为不显示,然后,当DOM准备好时,它将显示您的div。您可以在“slideToggle”方法调用之后添加它。

你也可以尝试在窗口就绪上加载'd_show _hide'div而不是DOM ready;这样可以确保在调用方法之前可以使用其中的元素。

$(window).load(function(){
   //slide toggle here
}

答案 1 :(得分:1)

<li>
    <a href="#" id="sombra" onclick="$('#opt_1').slideToggle(360);">MUEBLES</a>
    <!-- just have to force the width of the elemet! -->
    <ul id="opt_1" style="display:none; width:164px;">
        <!-- content -->
    </ul>
</li>

只需要强制容器的宽度就是问题!