[英]Odd if-else behavior in Javascript
我正在嘗試制作一個簡單的Javascript按鈕來在屏幕上切換菜單。 我有一個if-else語句,它可以檢測<nav>
的當前位置並將其left
CSS屬性更改為該效果。
現在,正如您在我的代碼中看到的那樣,它將僅顯示菜單一次,但之后不會將其隱藏起來:
if (navStyle == '0') { setNav('-500px'); }
else { setNav('0'); }
這將正確地完成工作:
if (navStyle == '-500px') { setNav('0'); }
else { setNav('-500px'); }
對嗎? 有人知道發生了什么嗎?
這是因為寬度實際上永遠不會等於0,取決於您選擇的單位,寬度大約為0px。 您的第二組條件有效,因為它們先檢查寬度(500px),如果不匹配則選擇另一個(0px)。
您可以通過多種方式處理此問題,包括僅從0px中提取數字值,但是由於您已經可以使用此功能,因此將來需要注意這一點。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.