【问题标题】:jquery click function doesn't work in internet explorer 7jquery 点击功能在 Internet Explorer 7 中不起作用
【发布时间】:2011-02-01 13:05:41
【问题描述】:

我使用这段代码创建了一个简单的 jquery 轮播动画:

$(document).ready(function() {
var slide = 1;
$('#arrow-left').click(function() {
    if (slide == 1) {
        $("#slideshow-train").animate({left: '-840'}, 2000);
        slide = 2;
    } else if (slide == 2) {
        $("#slideshow-train").animate({left: '-1680'}, 2000);
        slide = 3;
    } else if (slide == 3) {
        $("#slideshow-train").animate({left: '0'}, 1000);
        slide = 1;
    }
});
});

此代码在除 Internet Explorer 7 之外的所有主要浏览器中都能正常工作!它甚至在 IE6 中也能正常工作!问题是点击功能在 IE7 中根本不起作用。谁能指出是什么问题,我该如何解决?

这是页面的演示。只需单击左箭头(右手按钮不起作用:))。它应该适用于所有浏览器(摘自 IE7)。

http://goo.gl/LVnhW

【问题讨论】:

  • 您还需要提供您的 html - 最好是在线演示。现在我只能建议在你的控制台中仔细检查 JS 错误并检查你的 html 是否有效。与其他浏览器相比,IE 对愚蠢错误的容忍度要低得多。
  • 我已经上线了网站。在这里查看goo.gl/LVnhW。向左箭头应该在所有浏览器(IE7 节选)中都能正常工作。
  • 你是如何在 IE6 和 IE7 中测试的(我认为你也在 IE8 中测试过)。您是否在不同的机器或不同的虚拟机上运行您的代码?会不会是运行 IE7 的特定机器/VM 出现错误?

标签: javascript jquery


【解决方案1】:

查看“http://www.electrictoolbox.com/jquery-animation-issues-ie7-position-relative/” - 它指出“Internet Explorer 7 可能在渲染 jQuery 动画时出现问题,如果某些属性尚未使用 CSS 设置动画,并且包含块的位置属性设置为“相对”。'

也像 Tom 建议的那样,您也应该发布您的 HTML/css。

【讨论】:

    【解决方案2】:
    $("selector").live("click", function() {
    
    });
    

    这解决了我的问题!

    【讨论】:

      【解决方案3】:

      这在 IE 7 中对我有用,也许你应该试试这个 jquery 插件http://sorgalla.com/projects/jcarousel/

      【讨论】:

        猜你喜欢
        • 2012-06-07
        • 2013-03-17
        • 2017-08-06
        • 2014-11-13
        • 2023-03-28
        • 2017-11-14
        • 1970-01-01
        • 2011-12-07
        • 1970-01-01
        相关资源
        最近更新 更多