JQuery IE7 ошибка на нескольких .hide слушателей - PullRequest
1 голос
/ 10 марта 2010

Я создаю страницу продукта, можно увидеть здесь (http://n9nemedia.net/v2/products/), и сценарий в единственном числе (без скрытия нескольких div-ов с одним слушателем работает отлично - можно увидеть здесь http://www.supercentral.net/downloads нажав «Читать список» в Zombie Map Pack) отлично работает.

У меня вопрос: что я могу сделать, чтобы (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 *, которые я проверял лично.

Любой совет?

1 Ответ

0 голосов
/ 10 марта 2010

Изменено:

JQ (это) .parents ( "prodcontent") .find ( "Prod-детали-веб ") slideDown (" медленные").; });

до:

JQ (это) .parents ( "prodcontent") .find ( "Prod-деталь-веб ") показывает (" медленный").; });

и теперь он работает в IE7 без нареканий.

Это прекрасно работало, пока я не очистил кеш и не обнаружил странное поведение в Chrome и Safari. Кроме того, необходимо условное выражение, если вы хотите сохранить одинаковую анимацию среди браузеров

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