2017-04-13 62 views
1

嗨即時新的js和老實說,我們剛剛開始在我們學校學習js。我想要做的是一旦我已經點擊它,它將被重置,並再次刪除類。 「myClass的具有顯示無」重置功能,一旦你已經點擊它

$(function() { 
     $("body").click(function() { 
      $(".parela").addClass('myClass'); 
     }); 
    }); 
+0

那麼你想切換可視性?點擊一次,它顯示,再次點擊,它隱藏等? – Rhumborl

+0

'addClass' =>'toggleClass'? –

回答

1

你想用toggleClass(),這將打開和關閉取決於點擊的類。請注意,對於下面的演示 - 我創建了按鈕單擊按鈕來切換類。

做到這一點的另一種方式 - 因爲唯一的效果是隱藏元素 - 只是.toggle()而不使用添加的類來切換顯示狀態。以下代碼片段顯示了這兩種方法。

$(function() { 
 
    $("#toggleButton").click(function() { 
 
    $(".parela").toggleClass('myClass'); 
 
    }); 
 
     
 
    $("#toggleButton2").click(function() { 
 
     $(".parela2").toggle(); 
 
    }); 
 
});
.myClass{display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Using .toggleClass('myClass')</p> 
 
<button type="button" id="toggleButton">clickMe</button> 
 

 
<span class="parela"> Visible</span> 
 
<hr/> 
 
<p>Using just .toggle()</p> 
 
<button type="button" id="toggleButton2">clickMe</button> 
 

 
<span class="parela2"> Visible</span>

+0

非常感謝你和最後一個問題是否有任何方式,一旦你點擊一個鏈接「a href =」「>它會點擊頁面的主體? –

+0

不用擔心 - 關於點擊鏈接 - 它會指導你你可以把#作爲href - 但我可能會建議你看看你點擊的是什麼以及你爲什麼點擊它。帶有href的最好用於導航到不同的頁面或技術上說 - 將位於身體內部 - 所以你可以把它想象成點擊身體 - 但你真的需要考慮點擊的最佳結構 - 如果它不去瀏覽到一個不同的區域 - 它可能不是元素 – gavgrif

3

您可以使用toggleclass

$(function() { 
     $("body").click(function() { 
      $(".parela").toggleClass('myClass'); 
     }); 
    }); 
+1

資本'C'在函數名稱中很重要(但至少你提供了一個鏈接到文檔)! – Rhumborl

+0

@Rhumborl謝謝你的指點。我已經編輯了答案 – brk

1

使用toggleClass,所以在每一次點擊將被添加/自動刪除

$(function() { 
    $("body").click(function() { 
     $(".parela").toggleClass('myClass'); 
    }); 
}); 
+0

非常感謝你和最後一個問題是否有任何方式,一旦你點擊一個鏈接「a href =」「>它會點擊頁面的主體? –

0

你可以使用一些用來控制狀態的'flag'變量。 你可以任意命名,並做出相應的決定。

$(function() { 
     var flag = false; 
     $("body").click(function() { 
      if(!flag) { 
       $(".parela").addClass('myClass'); 
       flag = true; 
      } else { 
       $(".parela").removeClass('myClass'); 
       flag = false; 
      } 
     }); 
    }); 
+0

當你有一個簡單的'toggleClass'(和3個使用'toggleClass'的不同upvoted答案)時,爲什麼還要在if語句中使用所有這些標誌? –

+0

有時您需要的不僅僅是切換課程。 –

+0

好,夠公平的 - 但如果你展示一個更復雜的例子,你可以考慮展示'hasClass'來檢查它而不是使用一個標誌,因爲OP說他們剛剛開始學習JS(無論如何我都會贊成它,因爲我同意你說的) –

相關問題