Jзапрос 1.4:Две функции не работают вместе на одной странице

StackOverflow https://stackoverflow.com/questions/2262032

Вопрос

У меня есть две функции JQuery, которые я могу заставить нормально работать на странице по отдельности, но не тогда, когда они обе задействованы одновременно.Я не могу понять, что я делаю неправильно, поскольку аналогичный код хорошо работает на других страницах.

Первая функция:

$(document).ready(function()
{
   $("#add-questions").click(function() {$("#extra-questions").fadeIn(800);});
});

Вторая функция:

$(document).ready(function()
{
   if($PHPTRIGGER == true)
   {
      $("#pop-text").html("Message sent.");
      $("#pop").show();
      setTimeout(function() {$("#pop").animate( {height: "hide", opacity: "hide"}, "medium");}, 4000);
   }
});

«$PHPTRIGGER» — это переменная php, которую я передаю в Jquery (StackOverflow не позволяет мне вставлять настоящий php, поэтому я пометил ее так).

Я пробовал поместить обе функции в один и тот же «готовый к документу», пробовал менять порядок, но они просто не работают вместе.

Есть предположения?

Спасибо.

ОБНОВЛЯТЬ:

Это первая функция, которая не реагирует на событие щелчка.Он работает только после выполнения второй функции (которая связана с отправкой формы).Все еще интересно, почему это так.

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ:

Решена проблема с Firebug.Пришлось инициализировать PHPTRIGGER, переданный через PHP, с пустым значением, иначе первая функция завершится с ошибкой.На самом деле это забавно, потому что эта функция не использует PHP.По сути, (строгая) синтаксическая ошибка во второй функции привела к сбою первой функции, в то время как сама вторая функция работала нормально.

Это было полезно?

Решение

У меня они работают, когда я помещаю их на тестовую страницу:

  • поп скрывается через 4 секунды.

  • всплывающий текст гласит: «Сообщение отправлено».

  • Когда я нажимаю #add-questions, элемент div #extra-questions исчезает (при условии, что первоначальное отображение: нет)

Если вы хотели чего-то другого, вы, вероятно, просто затуманились, глядя на свой собственный код (может быть, вы хотели #pop в обоих местах вместо #pop в одном и #pop-text в другом?)

Другие вещи, которые вы можете попробовать:запустите в Chrome и проверьте консоль JS на наличие ошибок (если ваш текущий отладчик не показывает ошибку и выполнение просто останавливается).Проверьте свой HTML, чтобы убедиться, что указанные идентификаторы существуют.Проверьте свой CSS, чтобы убедиться, что ваши начальные значения верны.Убедитесь, что ваша переменная $PHPTRIGGER передается правильно.

Дайте нам знать, если у вас есть дополнительная информация или вы узнали что-нибудь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top