iT邦幫忙

0

新手學Jquery時碰上Javascript寫法的問題

  • 分享至 

  • xImage

最近在學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
 })
   
})

chan15 iT邦新手 2 級 ‧ 2022-03-14 09:52:21 檢舉
他希望做到 box 是 invisible 的時候 fadeIn,是 visible 的時候 fadeOut,所以設定個變數偵測目前的狀況,但 jQuery 的 fade 是有 duration 的,照理說按鈕按快一點會出狀況,只要用 https://api.jquery.com/fadetoggle/ 這個就可以達到效果了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2022-03-11 13:50:15
最佳解答

「!」在很多程式的判斷式上都會用其做偽「否」「反」「不符」的意思。用程式的看法為「NOT」

isHide = ! isHide

這邊其實是一種切換「真」「偽」的手法。
當為「真」,就變成「偽」
當為「偽」,就變成「真」

所以「!」也有「反」的意思。

簡單的白話用法說明

!= 不等於
=! 等於不為
!$val 不存在$val
2
揮揮手
iT邦研究生 5 級 ‧ 2022-03-11 10:37:57

試試看 在chrome console那邊輸入
var isHide =false
console.log(isHide)
isHide = ! isHide
console.log(isHide)

4
天黑
iT邦研究生 5 級 ‧ 2022-03-11 10:39:45

簡單來說就是重新設定isHide這參數值,true進來會變成false,false進來會變成true
補一個給你參考的文章

2

這篇給你參考

0
chan15
iT邦新手 2 級 ‧ 2022-03-14 09:53:36

他希望做到 box 是 invisible 的時候 fadeIn,是 visible 的時候 fadeOut,所以設定個變數偵測目前的狀況,但 jQuery 的 fade 是有 duration 的,照理說按鈕按快一點會出狀況,只要用 https://api.jquery.com/fadetoggle/ 這個就可以達到效果了

我要發表回答

立即登入回答