Jзапрос 1.4:Две функции не работают вместе на одной странице
-
20-09-2019 - |
Вопрос
У меня есть две функции 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 передается правильно.
Дайте нам знать, если у вас есть дополнительная информация или вы узнали что-нибудь.