最近在學Jquery,剛練習到做出一個按下按鈕時,box 會 fadeIn&fadeOut 的功能,因為對JS還不夠了解 ,不懂以下程式碼最後一行 isHide = ! isHide 的寫法是甚麼意思,有強者能幫忙解答一下嗎?
var isHide =false
$(document).ready(function){
$('.btn').click(function(){
if(isHide){
$('box'). fadeIn()
}else{
$('box'). fadeOut()
}
isHide = ! isHide
})
})
「!」在很多程式的判斷式上都會用其做偽「否」「反」「不符」的意思。用程式的看法為「NOT」
isHide = ! isHide
這邊其實是一種切換「真」「偽」的手法。
當為「真」,就變成「偽」
當為「偽」,就變成「真」
所以「!」也有「反」的意思。
簡單的白話用法說明
!= 不等於
=! 等於不為
!$val 不存在$val
試試看 在chrome console那邊輸入
var isHide =false
console.log(isHide)
isHide = ! isHide
console.log(isHide)
簡單來說就是重新設定isHide這參數值,true進來會變成false,false進來會變成true
補一個給你參考的文章
他希望做到 box 是 invisible 的時候 fadeIn,是 visible 的時候 fadeOut,所以設定個變數偵測目前的狀況,但 jQuery 的 fade 是有 duration 的,照理說按鈕按快一點會出狀況,只要用 https://api.jquery.com/fadetoggle/ 這個就可以達到效果了