JQuery не работает на всех страницах Internet Explorer - PullRequest
1 голос
/ 21 марта 2012

Я вроде "новичок" в JQuery, я работаю над крупным брендом со многими веб-сайтами. Поэтому я придумал меню JQuery Toggle для ВСЕХ этих сайтов.

У меня есть один файл меню под названием menu.html с Toggle, CSS и HTML на нем, и я добавляю его на все страницы с этим кодом:

<script type="text/javascript">
$(document).ready(function() {
    $("#menuTop").load("/menu/menu.html");
});    

Основная проблема в том, что JQuery сильно работает на FF и Chrome, а также на некоторых страницах IE9. НО он не работает на некоторых страницах должным образом, и я понятия не имею, почему.

Например:

www.coldwell-fiscal.com.br отлично работает во всех браузерах, но www.coldwell.com.br работает странным образом, меню вообще не переключается и не переключается странно.

Я попытался проверить коды между страницами, добавил к переключателю no.conflict, чтобы он совпал с другими библиотеками и плагинами.

Вот код для переключения:

        var $j = jQuery.noConflict();
    $j(document).ready(function() {
        $j("li#showColdwell").click(
            function() {
                if ($j("ul.single").css("display")=="none") {
                    $j("ul.single").slideDown();
                    $j("li#showColdwell").addClass("slide");
                    $j(".toggleColdwell").addClass("toggleHover");
                }
                else {
                    $j("ul.single").slideUp();
                    $j("li#showColdwell").removeClass("slide");
                    $j(".toggleColdwell").removeClass("toggleHover");
                }
            }
        );
        $j("li#showColdwell").click(
            function() {
                $j("ul.empresas, ul.aplicativos, ul.serv, ul.tecnologia, ul.mais").slideUp();
                $j("li#showEmpresas, li#showApp, li#showServ, li#showTec, li#showMais").removeClass("slide");
                $j(".toggleEmpresas, .toggleAplicativos, .toggleServicos, .toggleTecnologia, .toggleMais").removeClass("toggleHover");
            }
        );
        $j("li#showEmpresas").click(
            function() {
                if ($j("ul.empresas").css("display")=="none") {
                    $j("ul.empresas").slideDown();
                    $j("li#showEmpresas").addClass("slide");
                    $j(".toggleEmpresas").addClass("toggleHover");
                }
                else {
                    $j("ul.empresas").slideUp();
                    $j("li#showEmpresas").removeClass("slide");
                    $j(".toggleEmpresas").removeClass("toggleHover");
                }
            }
        );
        $j("li#showEmpresas").click(
            function() {
                $j("ul.single, ul.aplicativos, ul.serv, ul.tecnologia, ul.mais").slideUp();
                $j("li#showColdwell, li#showApp, li#showServ, li#showTec, li#showMais").removeClass("slide");
                $j(".toggleColdwell, .toggleAplicativos, .toggleServicos, .toggleTecnologia, .toggleMais").removeClass("toggleHover");
            }
        );
        $j("li#showApp").click(
            function() {
                if ($j("ul.aplicativos").css("display")=="none") {
                    $j("ul.aplicativos").slideDown();
                    $j("li#showApp").addClass("slide");
                    $j(".toggleAplicativos").addClass("toggleHover");
                }
                else {
                    $j("ul.aplicativos").slideUp();
                    $j("li#showApp").removeClass("slide");
                    $j(".toggleAplicativos").removeClass("toggleHover");
                }
            }
        );
        $j("li#showApp").click(
            function() {
                $j("ul.single, ul.empresas, ul.serv, ul.tecnologia, ul.mais").slideUp();
                $j("li#showColdwell, li#showEmpresas, li#showServ, li#showTec, li#showMais").removeClass("slide");
                $j(".toggleEmpresas, .toggleColdwell, .toggleServicos, .toggleTecnologia, .toggleMais").removeClass("toggleHover");
            }
        );
        $j("li#showServ").click(
            function() {
                if ($j("ul.serv").css("display")=="none") {
                    $j("ul.serv").slideDown();
                    $j("li#showServ").addClass("slide");
                    $j(".toggleServicos").addClass("toggleHover");
                }
                else {
                    $j("ul.serv").slideUp();
                    $j("li#showServ").removeClass("slide");
                    $j(".toggleServicos").removeClass("toggleHover");
                }
            }
        );
        $j("li#showServ").click(
            function() {
                $j("ul.single, ul.aplicativos, ul.empresas, ul.tecnologia, ul.mais").slideUp();
                $j("li#showColdwell, li#showEmpresas, li#showApp, li#showTec, li#showMais").removeClass("slide");
                $j(".toggleEmpresas, .toggleAplicativos, .toggleColdwell, .toggleTecnologia, .toggleMais").removeClass("toggleHover");
            }
        );
        $j("li#showTec").click(
            function() {
                if ($j("ul.tecnologia").css("display")=="none") {
                    $j("ul.tecnologia").slideDown();
                    $j("li#showTec").addClass("slide");
                    $j(".toggleTecnologia").addClass("toggleHover");
                }
                else {
                    $j("ul.tecnologia").slideUp();
                    $j("li#showTec").removeClass("slide");
                    $j(".toggleTecnologia").removeClass("toggleHover");
                }
            }
        );
        $j("li#showTec").click(
            function() {
                $j("ul.single, ul.aplicativos, ul.serv, ul.empresas, ul.mais").slideUp();
                $j("li#showColdwell, li#showEmpresas, li#showServ, li#showApp, li#showMais").removeClass("slide");
                $j(".toggleEmpresas, .toggleAplicativos, .toggleColdwell, .toggleServicos, .toggleMais").removeClass("toggleHover");
            }
        );
        $j("li#showMais").click(
            function() {
                if ($j("ul.mais").css("display")=="none") {
                    $j("ul.mais").slideDown();
                    $j("li#showMais").addClass("slide");
                    $j(".toggleMais").addClass("toggleHover");
                }
                else {
                    $j("ul.mais").slideUp();
                    $j("li#showMais").removeClass("slide");
                    $j(".toggleMais").removeClass("toggleHover");
                }
            }
        );
        $j("li#showMais").click(
            function() {
                $j("ul.single, ul.aplicativos, ul.serv, ul.empresas, ul.tecnologia").slideUp();
                $j("li#showColdwell, li#showEmpresas, li#showServ, li#showApp, li#showTec").removeClass("slide");
                $j(".toggleEmpresas, .toggleAplicativos, .toggleColdwell, .toggleServicos, .toggleTecnologia").removeClass("toggleHover");
            }
        );                                  
    });

1 Ответ

0 голосов
/ 21 марта 2012

Что, если вы замените все это следующим:

var $j = jQuery.noConflict();
$j(document).ready(function() {
    var mySlide = $j("ul.single, ul.empresas, ul.aplicativos, ul.serv, ul.tecnologia, ul.mais");
    var mySlideClass = $j("li#showColdwell, li#showEmpresas, li#showApp, li#showServ, li#showTec, li#showMais");
    var myToggleClass = $j(".toggleColdwell, .toggleEmpresas, .toggleAplicativos, .toggleServicos, .toggleTecnologia, .toggleMais");
    function actions(ck, tg, t) {
        if (ck.css("display") == "none") {
            ck.slideDown();
            t.addClass("slide");
            tg.addClass("toggleHover");
        } else {
            ck.slideUp();
            t.removeClass("slide");
            tg.removeClass("toggleHover");
        }
        mySlide.not(ck).slideUp();
        mySlideClass.not(t).removeClass("slide");
        myToggleClass.not(tg).removeClass("toggleHover");
    }
    $j("li#showColdwell").click(function() {
        var ck = $j("ul.single");
        var tg = $j(".toggleColdwell");
        var t = $(this);
        actions(ck, tg, t);
    });
    $j("li#showMais").click(function() {
        var ck = $j("ul.mais");
        var tg = $j(".toggleMais");
        var t = $(this);
        actions(ck, tg, t);
    });
    $j("li#showEmpresas").click(function() {
        var ck = $j("ul.empresas");
        var tg = $j(".toggleEmpresas");
        var t = $(this);
        actions(ck, tg, t);
    });
    $j("li#showApp").click(function() {
        var ck = $j("ul.aplicativos");
        var tg = $j(".toggleAplicativos");
        var t = $(this);
        actions(ck, tg, t);
    });
    $j("li#showServ").click(function() {
        var ck = $j("ul.serv");
        var tg = $j(".toggleServicos");
        var t = $(this);
        actions(ck, tg, t);
    });
    $j("li#showTec").click(function() {
        var ck = $j("ul.tecnologia");
        var tg = $j(".toggleTecnologia");
        var t = $(this);
        actions(ck, tg, t);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...