Совпадения jQuery — элементов, заданные в глобальных переменных, не работают в Google Chrome

#jquery #google-chrome #show

#jquery #google-chrome #показать

Вопрос:

Я обнаружил подозрительный сбой в своем коде, встроенном только в Google Chrome. Я определил несколько переменных как некоторые элементы, на которые я обычно ссылался, и у меня не было проблем с выполнением кода, за исключением случаев, когда в Google Chrome (мне потребовалось некоторое время, чтобы выяснить, что мои переменные были причиной проблемы). Мне интересно, знает ли кто-нибудь, почему это происходит..

Следующий код отлично работает в Mozilla, но не в Chrome:

 var homeAbout = $("#homeAbout");

$("#subLinkAbout").bind("click", function() { 
    if (homeAbout.is(":visible")) {
        return;
    } 
    $("#content .homeNode:visible").hide("slide", { direction: "right" }, contentSlideTime, function () {
        //this line does not function properly
        homeAbout.stop(true, false).show("slide", { direction: "left" }, contentSlideTime);
    });
});
  

Однако это работает нормально:

 var homeAbout = $("#homeAbout");

$("#subLinkAbout").bind("click", function() { 
    if (homeAbout.is(":visible")) {
        return;
    } 
    $("#content .homeNode:visible").hide("slide", { direction: "right" }, contentSlideTime, function () {
        $("#homeAbout").stop(true, false).show("slide", { direction: "left" }, contentSlideTime);
    });
});
  

Похоже, это происходит только в одной строке, где используется .show(). Содержимое будет скрыто, и после этого ничего не произойдет. Кто-нибудь может объяснить это подробнее? Также приветствуются любые предложения по моему коду, я все еще очень новичок, когда дело доходит до jQuery…

Заранее большое спасибо, приветствуются любые советы.

Ответ №1:

Если вы используете jQuery, почему вы используете bind?

 $("#subLinkAbout").click(function() { 
  

Должно быть лучше.

Комментарии:

1. Потому что я не знал лучше, пока вы не опубликовали это… Спасибо! 🙂

2. Я не вижу проблемы с остальным — если вы добавите в jsfiddle, я посмотрю на это.