JavaScript toggle()
toggle() 是 HTML5 新增,本文將通過程式碼例項分步詳細介紹一下它的用法。
此方法屬於 DOMTokenList 型別集合物件,用於切換 class 樣式類的刪除與新增。
元素的 classList 屬性返回值即是 DOMTokenList 型別。
關於 classList 更多內容參閱JavaScript classList 屬性一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼toggle(class, bool)
引數解析:
(1).class:必需,class樣式類名。
(2).bool:可選,一個布林值,規定執行刪除操作還是新增操作,如果為true,則執行新增操作,無論是否元素當前是否具有指定的樣式類,如果為false,則執行刪除操作,無論是否元素具有指定的樣式類,如果省略此引數,則執行樣式類的新增和刪除切換操作。
瀏覽器相容性:
(1).IE10+瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .a{ width:150px; height:60px; } .b{ text-align:center; line-height:60px; } .c{ background-color:#ccc; color:red; } </style> <script> window.onload=function(){ let odiv=document.getElementById("ant"); let obt=document.getElementById("bt"); obt.onclick=function(){ odiv.classList.toggle("a"); } } </script> </head> <body> <div id="ant" class="a b c">螞蟻部落</div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
程式碼分析如下:
(1).div元素的class屬性具有三個樣式類,分別是"a","b"和"c"。
(2)點選按鈕之後,可以切換樣式類"a"新增或者刪除,由於div元素已經具有樣式類"a",那麼首次的點選按鈕可以刪除樣式類"a",當第二個點選按鈕的時候,再新增此樣式類"a",以此類推。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .a{ width:150px; height:60px; } .b{ text-align:center; line-height:60px; } .c{ background-color:#ccc; color:red; } </style> <script> window.onload=function(){ let odiv=document.getElementById("ant"); let obt=document.getElementById("bt"); obt.onclick=function(){ odiv.classList.toggle("a"); } } </script> </head> <body> <div id="ant" class="b c">螞蟻部落</div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
上面的div元素預設並沒有class樣式類"a",當首次點選按鈕,會新增樣式類"a"。
再次點選此按鈕會將"a"刪除,以此類推。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .a{ width:150px; height:60px; } .b{ text-align:center; line-height:60px; } .c{ background-color:#ccc; color:red; } </style> <script> window.onload=function(){ let odiv=document.getElementById("ant"); let obt=document.getElementById("bt"); obt.onclick=function(){ odiv.classList.toggle("a",true); } } </script> </head> <body> <div id="ant" class="b c">螞蟻部落</div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
為toggle方法規定第二個引數,此引數規定方法是執行刪除操作還是新增操作。
(1).true,執行新增操作。
(2).false,執行刪除操作。
規定第二個引數之後,toggle方法失去對類的新增和刪除切換功能,只執行一種操作。
toggle(class,true)等同於add(class)
toggle(class,false)等同於remove(class)
特別說明:IE瀏覽器並不支援第二個引數。
相關文章
- JavaScript toggle() 方法JavaScript
- UGUI原始碼解析(Toggle和ToggleGroup)UGUI原始碼
- 2018-12-14jQuery 效果 - toggle() 方法jQuery
- 鴻蒙HarmonyOS實戰-ArkUI元件(Toggle)鴻蒙UI元件
- 【 開源計劃 - 元件包 】 旋轉切換 toggle_rotate元件
- 查漏補缺,盤點和toggle相關的幾個APIAPI
- MM32F0020 GPIO驅動LED燈(MM32F0020 GPIO Toggle)
- 小微型庫(5.類名新增addClass和移除removeClass,判斷有無類名hanClass及toggle功能)REM
- 前端每日實戰:158# 視訊演示如何用純 CSS 創作一個雨傘 toggle 控制元件前端CSS控制元件
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- javaScript系列[06]-javaScript和thisJavaScript
- [Javascript] How javascript read the property?JavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- “This” is For JavaScriptJavaScript
- This in JavaScriptJavaScript
- JavaScript -"this"JavaScript
- JavaScriptJavaScript
- javascript ??JavaScript
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- [Javascript] Perform Set Operations using JavaScript Set MethodsJavaScriptORM
- javascript — == vs ===JavaScript
- JavaScript selectedIndexJavaScriptIndex
- JavaScript deleteCell()JavaScriptdelete
- JavaScript lastElementChildJavaScriptAST
- JavaScript hasAttribute()JavaScript
- JavaScript getAttributeNode()JavaScript
- JavaScript replaceChild()JavaScript
- JavaScript remove()JavaScriptREM
- JavaScript appendChild()JavaScriptAPP
- JavaScript deleteRow()JavaScriptdelete
- JavaScript clientYJavaScriptclient
- JavaScript之thisJavaScript
- JavaScript isFinite()JavaScript
- JavaScript Boolean()JavaScriptBoolean
- JavaScript escape()JavaScript
- JavaScript parseFloat()JavaScript