【问题标题】:jQuery's slideToggle does both slideDown and slideUp in IE8 simultaneouslyjQuery 的 slideToggle 在 IE8 中同时进行 slideDown 和 slideUp
【发布时间】:2009-06-18 10:39:15
【问题描述】:

我在这里上传了我的问题:http://gotchance.com/k2/

尝试点击“登录”链接。它在 FF 和 Safari 中运行良好。但是在 IE8 中,表单会先向下滑动,然后再自动向上滑动。

出于测试目的,我又添加了 4 个“测试”链接,发现只有 #navigation div 内的链接会导致此问题。

另外,如果我使用“按钮”“输入”之类的任何其他元素进行切换,它工作正常。只有“#navigation”中的“a”标签会导致问题。

有什么想法吗?

【问题讨论】:

  • 您是否尝试过为 jQuery 选择器指定更具体的登录按钮 $("a#loginLink") 而不是 $("a")?
  • 是的,我什至尝试了这个 $('#wrap #header #navigation ul li a#loginLink') 以及介于两者之间的所有内容。

标签: javascript jquery effects


【解决方案1】:

您的 html 未通过验证。始终确保首先通过w3c validator 运行它。无效的 dom 可能会与 jquery 选择器(尤其是在 ie 中)一起玩地狱。

我还注意到圆角和字体插件会产生一些奇怪的标记,这也可能导致问题。

您是否尝试过将页面剥离到最基本的部分,然后一次添加一个功能,以确保在每一步之后您的切换都正常工作。

【讨论】:

  • 谢谢 :) 帮助。问题是由于角插件。现在,1)你能推荐一些其他的圆角插件吗? 2) 而且,当登录表单向上滑动时,标题“Welcome to Kontactr”向上移动几个像素并触及绿线。然后它会自动下降。知道是什么原因造成的吗?
  • 在我看来,所有圆角插件都有问题并且使用了太多额外的标记。我使用图像或只使用 css 和 moz-border-radius,当然 ie 用户将不得不忍受没有!!
【解决方案2】:

我看到的一个问题是您的 custom.js 文件中有一个额外的逗号。多余的逗号在第 25 行。

之前:

   confirm: {
            required: true,
            equalTo: "#rpassword"
        },
    },

之后:

confirm: {
            required: true,
            equalTo: "#rpassword"
        }
    },

我不知道这是否能解决你的问题。

【讨论】:

    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多