【问题标题】:jQuery IE7 bug on multiple .hide listeners多个 .hide 侦听器上的 jQuery IE7 错误
【发布时间】:2010-03-09 22:55:27
【问题描述】:

我正在构建一个产品页面,可以在这里看到 (http://n9nemedia.net/v2/products/),并且脚本以一种单一的方式(不隐藏多个 div 与一个听众完美 - 可以在这里看到 http://www.supercentral.net/downloads 点击“僵尸地图包下的阅读列表)完美运行。

我的问题是,我该怎么做才能让 (http://www.n9nemedia.net/v2/products/) 在 IE7 中工作?

代码示例:

jQ(".prod-details-web").hide();
jQ(".prod-details-dev").hide();
jQ(".prod-details-grow").hide();
jQ(".prod-details-brand").hide();
jQ(".prod-details-3g").hide();  
jQ(".prod-expand-web").click(function(event) {
    jQ(".prod-details-dev").slideUp("fast");
    jQ(".prod-details-grow").slideUp("fast");
    jQ(".prod-details-brand").slideUp("fast");
    jQ(".prod-details-3g").slideUp("fast");                               
    jQ(this).parents(".prodcontent")
        .find(".prod-details-web").slideDown("slow");
});
jQ(".prod-collapse-web").click(function(event) {
    jQ(this).parents(".prod-details-web").slideUp("fast");
    event.preventDefault();
    jQ(".prod-details-web:hidden").show();
});

目标是每次点击仅显示一种产品。不要在点击时取消隐藏所有 div。该脚本在除 IE7 之外的所有浏览器中都能完美运行。在我亲自检查过的 Chrome、Firefox、Safari 和 IE8 中工作。

有什么建议吗?

【问题讨论】:

    标签: jquery gridview hide show


    【解决方案1】:

    改变:

    jQ(this).parents(".prodcontent") .find(".prod-details-web").slideDown("slow"); });

    到:

    jQ(this).parents(".prodcontent") .find(".prod-details-web").show("slow"); });

    现在它可以在 IE7 中完美运行。

    在我清除缓存并在 Chrome 和 Safari 中发现一个奇怪的行为之前,这非常有效。如果您希望在浏览器之间保持相同的动画流畅度,则需要在此之上添加条件语句

        /*@cc_on @*/
        /*@if (@_jscript_version >= 5)
        .find(".prod-details-web").show("slow");
        @else @*/
        .find(".prod-details-web").slideDown("slow");
        /*@end @*/      
    

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      • 2011-07-16
      • 1970-01-01
      • 2013-09-24
      相关资源
      最近更新 更多