Привет, У меня возникли проблемы с переназначением переменной в моем javascript/jquery-коде при нажатии на определенный элемент html, это действительно?Изменение переменных в jQuery
var secret = false; /* assigning boolean */
$('#facebook2').click(function() { /*reassigning "secret" to true on click*/
secret = true;
$('#link-secret').attr('id', 'link-secret2');
});
if (secret == true) { /* should only work if "secret" is true */
$("#twitter2").click(function(){
$("body").css("background-color","yellow");
});
}
Я попытался переместить первоначальный «секретный» значение в и из $ (документ) .ready теги безрезультатно. Я пропустил что-то очень очевидное здесь?
Спасибо за любую помощь.
Редактировать: Спасибо за быстрый ответ, может ли кто-нибудь объяснить, почему эта часть моего кода не работает?
$("#link-secret").hover(function() {
$(".top-left-circle").addClass("circle-dupe");
$("#speech-bubble1, #speech-bubble2, #speech-bubblex, #speech-bubblex2, #speech-arrow").hide("250");
if (secret == false){
setTimeout(function() {
$("#speech-bubblex, #speech-arrow").stop().show("slow");
}, 500);
} else {
setTimeout(function() {
$("#speech-bubblex2, #speech-arrow").stop().show("slow");
}, 500);
}
setTimeout(function() {
$("#speech-bubblex, speech-bubblex2, #speech-arrow").hide(2000);
}, 5000);
},
function() {
$(".top-left-circle").removeClass("circle-dupe")}
);
Если секрет является ложным, выполняются обе части инструкции if/else, и если это так, то и нет.
Да. Проблема состояла в том, что условие оценивает один раз на готовке документа и определяет назначение обработчика кликов, а не определяет изменение цвета фона. – moarboilerplate
Этот ответ был бы лучше, если бы вы объяснили, что не так, и почему ваше изменение исправляет его. – forgivenson
@forgivenson alley-oop – moarboilerplate