簡體   English   中英

Javascript else條件未觸發

[英]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

在狀態設置為1else if語句應該生效並顯示alert("hehehe") ,但是沒有。

誰能給我一些建議? 我究竟做錯了什么 ?

您已經在第一個if語句"elementToBeClicked" "click"事件綁定到"elementToBeClicked" 嘗試在if語句的末尾unbind ,然后查看會發生什么,但是通常為了僅檢查else是否正在執行,只需將警報置於click事件之外。

您的變量“狀態”是函數的局部變量。 這就是為什么在隨后的函數調用中始終為0的原因。請在函數外部初始化變量。

我認為問題在於,在if語句中比較變量和零時,應使用三個===。 像這樣:如果(狀態=== 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM