jQuery не работает в Internet Explorer, как в других браузерах - PullRequest
0 голосов
/ 05 ноября 2011

Я создаю личную веб-страницу и разместил временную версию на www.aegaeon.comule.com. Я следовал учебному пособию по Интерактивному дракону (http://labs.dragoninteractive.com/pufferfish_article.php)), чтобы создать меню при наведении на угасание с градиентным фоном. Я разместил подстраницы в виде «панелей», чтобы их можно было скрыть и показать при нажатии соответствующей кнопки навигации. код:

var color_text = '#999';
var color_text_hover = "#C0C0C0";

$(function(){

    $("div.panel:not(:first)").hide();  // hide all panels except the home panel

    var loc=window.location;
    window.location.replace(loc+"#home");   // make window location correspond to home panel

    var menu=$("#navbar a");
    menu.click(function(){
        var previous=window.location.hash;
        var selected=$(this).attr("href");
        if (previous != selected) {
            $("div.panel"+previous).fadeOut("slow")
            $("div.panel"+selected).fadeIn("slow");
            }
        menu.removeClass("selected");
        $(this).addClass("selected");
    });

    $('#navbar li a').append('<span class="hover"></span>')

    $('#navbar li a').hover(function() {


        if(!$(this).hasClass('selected')){
        // Stuff that happens when you hover on
        $('.hover', this).stop().animate({
            'opacity': 0.2
            }, 400)

            $(this).stop().animate({ 
                //backgroundColor: color_bg_hover,
                color: color_text_hover
            },400);
        }

    },function() {

        // Stuff that happens when you unhover
        $('.hover', this).stop().animate({
            'opacity': 0
            }, 700, 'easeOutSine')

        $(this).stop().animate({ 
                //backgroundColor: color_bg,
                color:color_text
            },700);

    })
});

В Chrome, Firefox и Safari сайт работает нормально, а в Internet Explorer - нет. Кнопки навигации изначально белые, но они становятся видимыми, когда вы наводите на них курсор, что говорит о том, что JavaScript по крайней мере частично работает, но я не могу объяснить другое поведение. Любые мысли будут с благодарностью.

Ответы [ 2 ]

0 голосов
/ 21 июня 2013

.stop () не работает в ie.

вместо . .Stop () анимация ({}); использование .animate ({новая анимация, которую вы хотите применить к элементу.});

0 голосов
/ 05 ноября 2011

Я вижу много пропущенных точек с запятой, например:

        $("div.panel"+previous).fadeOut("slow")
        $("div.panel"+selected).fadeIn("slow");

Проверьте ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...