使用.animate时出现奇怪的IE8问题({'height':'toggle'})

时间:2010-09-14 23:02:27

标签: javascript jquery html internet-explorer-8

查看http://wouter.howafarms.com/faq

目标是在点击时扩大答案 正如您所看到的,除了ie8之外,它在所有浏览器中都能完美运行。

我尝试过各种动画效果.slideDown(),. togog()无济于事。它们总是在Firefox,Chrome甚至IE7中运行,但从不在IE8中运行。什么导致它可能导致它。

这是JavaScript:

$(document).ready(function() {
$("#faq-list li").addClass('inactive');
$("#faq-list li").first('.inactive').toggleClass('inactive');
$("#faq-list li h2").toggle(
    function(){
        $(this).parent().find('.answer').animate({'height': 'toggle'},{queue:true,duration:300})
        $(this).toggleClass('inactive')
    } ,
    function() {
        $(this).parent().find('.answer').animate({'height': 'toggle'},{queue:true,duration:300})
        $(this).toggleClass('inactive')
    })

})

2 个答案:

答案 0 :(得分:3)

我不知道为什么,但你的h2元素{问题} display:inline是为什么崩溃在ie8中无法正常工作的原因。删除它,你没事。只需要重新设置“q”以便它排成一行

答案 1 :(得分:1)

刚试过......是的,它有点奇怪......也许IE8的高度计算有一个笔划。

也许在切换中尝试使用slideDown / slideUp而不是.animate({'height':'toggle'}?

另外,你可以写出前两行:

$("#faq-list li").addClass('inactive');
$("#faq-list li").first('.inactive').toggleClass('inactive');

作为

$("#faq-list li:not(:first)").addClass('inactive');