Там очень много что не имеют смысл с вашим кодом.
Во-первых, что такое userResponse
? Где это определяется и где оно установлено? Вы проверили под отладчиком, что это действительно равным - «девушка»?
Во-вторых, вы, вероятно, имел в виду использовать сравнения равна не назначение равно здесь:
if (userResponse = "girl") { // This should be ==
Однако это не должно мешать блок бежать. Фактически, это заставит блок всегда бежать с тех пор, как «девушка» истинна.
В-третьих, что такое girlnames
? Это массив? Где это определено? Вы подтвердили, что действительно содержат действительные элементы?
Наконец, я считаю, ваш for
цикл неправилен:
for (var i = 0; i <= girlnames.length; i++) {
Должно быть:
for (var i = 0; i < girlnames.length; i++) {
Массивы начинаются с 0, таким образом girlnames[girlnames.length]
не является допустимым элемент.
Однако, учитывая, что вы сделать не Используйте переменная i
в цикле где-нибудь, опять-таки это не должно фактически причиной каких-либо ошибок.
Я бы шаг через код построчно с помощью отладчика сценариев (обычно F12 в современных браузерах) и установить точку останова на:
var lastname = $('#lastnameresponse').val();
Затем проверяется каждая строка правильно вести себя. Если это все еще не работает, вам нужно разместить больше своего кода, чтобы мы могли лучше понять, что происходит.
UPDATE:
Основываясь на ваш комментарий:
Вот где переменная userResponse определяется: $ (документ) .ready (функция() {$ ("# girlimg") .click (function() {var userResponse = prompt («Подтвердите выбранный пол»). toLowerCase; $ ('html, body'). animate ({scrollTop: $ (". LastName"). offset () .top}, 2000);
Кажется, что userResponse
получает объявленная внутри обработчика щелчка для #girlimg
тега:
$("#girlimg").click(function() {
// Everything declared here is local to this function
var userResponse = confirm(); // local variable
});
Таким образом, он не будет доступен в обработчик щелчка для .button3
. Вы должны объявить userResponse
в области, доступной для обеих функций. Возможно, глобальный (это неодобрительно в JavaScript) или в вашем коде $(document).ready()
, если в этом блоке определены оба обработчика событий кликов.
Это не похоже на полный код. Что такое 'userResponse'? – mohkhan
'userResponse =" girl "' присваивает '' девушке '' '' userResponse'. Используйте '==' или '==='. Та же самая ошибка, которую вы ранее сделали: http://stackoverflow.com/a/17002680/139010 –
У вас есть бродячая скобка после цикла for. – Austen