[英]Javascript else condition not triggering
我正在嘗試做一個基本的javascript / jquery動畫。 基本上,在單擊按鈕時應顯示在普通視圖下隱藏的div。
我遇到的問題是條件( if else
語句)。
這是我正在使用的代碼。
$(document).ready(function () {
animationClick('#animateThis', '#someElement', '#startHere');
});
function animationClick(element, secondElement, elementToBeClicked) {
element = $(element);
elementToBeClicked = $(elementToBeClicked);
secondElement = $(secondElement);
var state = 0;
var containerWidth = $('#container').width();
elementToBeClicked.on("click", function () {
if(state == 0) {
secondElement.animate({
top: '27%',
}, 500);
element.animate({
left: '0%',
}, 500);
elementToBeClicked.html("Hide");
state = 1;
} else {
alert('hehehe');
}
})
};
因此,基本上,這就是發生的情況。 整個功能都放在document.ready中。 當我單擊按鈕(此函數綁定到該按鈕)時, if
語句返回true
,並且代碼被執行。 還將狀態設置為1
。
在狀態設置為1
, else if
語句應該生效並顯示alert("hehehe")
,但是沒有。
誰能給我一些建議? 我究竟做錯了什么 ?
您已經在第一個if
語句"elementToBeClicked"
"click"
事件綁定到"elementToBeClicked"
。 嘗試在if
語句的末尾unbind
,然后查看會發生什么,但是通常為了僅檢查else
是否正在執行,只需將警報置於click
事件之外。
您的變量“狀態”是函數的局部變量。 這就是為什么在隨后的函數調用中始終為0的原因。請在函數外部初始化變量。
我認為問題在於,在if語句中比較變量和零時,應使用三個===。 像這樣:如果(狀態=== 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.