js實現css、addClass、removeClass和toggleClass
JQuery中獲取CSS樣式
css(name):訪問第一匹配元素的樣式屬性
css(name,value):在所有匹配的元素中,設定一個樣式屬性的值
css(properties):把一個“名/值對”物件設定為所有匹配元素的樣式屬性
css(name,function(index,value)):在所有匹配的元素中,設定一個樣式屬性的值
————————————————————————————-
Javascript中獲取樣式的值
function css(obj, attr, value) {
switch (arguments.length) {
case 2:
if (typeof arguments[1] == “object”) { //批量設定屬性
for (var i in attr) obj.style[i] = attr[i]
}
else { // 讀取屬性值
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj, null)[attr]
}
break;
case 3:
//設定屬性
obj.style[attr] = value;
break;
default:
return “”;
}
}
採用這種方式同樣實現了 JQuery的效果。
—————————————————————————————
JQuery中有addClass,removeClass,toggleClass
addClass(class):為每個匹配的元素新增指定的類名
removeClass(class):從所有匹配的元素中刪除全部或者指定的類
toggleClass(class):如果存在(不存在)就刪除(新增)一個類
—————————————————————————————
function hasClass(obj, cls) {
return obj.className.match(new RegExp(`(\s|^)` + cls + `(\s|$)`));
}
function addClass(obj, cls) {
if (!this.hasClass(obj, cls)) obj.className += ” ” + cls;
}
function removeClass(obj, cls) {
if (hasClass(obj, cls)) {
var reg = new RegExp(`(\s|^)` + cls + `(\s|$)`);
obj.className = obj.className.replace(reg, ` `);
}
}
採用這種方式同樣實現了 JQuery的效果。
相關文章
- 小微型庫(5.類名新增addClass和移除removeClass,判斷有無類名hanClass及toggle功能)REM
- JS和Css實現紅包雨的效果JSCSS
- jQuery removeClass()jQueryREM
- js和css3實現的空調效果JSCSSS3
- css3和js實現的大白動畫效果CSSS3JS動畫
- js和css3實現的扇子展開效果JSCSSS3
- js和css3實現的載入等待特效JSCSSS3特效
- jQuery toggleClass()jQuery
- CSS + JS 實現打字機效果CSSJS
- js和css3實現的圓形鐘錶效果JSCSSS3
- js和css3實現360旋轉滾動效果JSCSSS3
- HTML+CSS+JS實現趣味相簿HTMLCSSJS
- vue 實現 js css html分離VueJSCSSHTML
- 自己實現三個API(getSiblings,addCLass,text)API
- jQuery addClass()jQuery
- [深入探索] VueJS Scoped CSS 實現原理VueJSCSS
- 使用styled-components實現CSS in JSCSSJS
- js和css3實現能夠展開和摺疊的摺扇效果JSCSSS3
- js和css實現的扇子展開和摺疊效果程式碼例項JSCSS
- 原生js實現的動態載入css和js檔案程式碼例項JSCSS
- jQuery實現的非同步動態載入css和js檔案jQuery非同步CSSJS
- js 和 css動畫JSCSS動畫
- CSS 、JS實現浪漫流星雨動畫CSSJS動畫
- 優雅的實現動態載入 css、jsCSSJS
- jQuery實現的動態載入css和js檔案程式碼例項 [jQueryCSSJS
- css3和js實現的圓形鐘錶效果程式碼例項CSSS3JS
- 手把手帶你用原生js實現css屬性的set和getJSCSS
- css實現文字和圖片居中效果CSS
- html + css + js 原生 彈出提示框的實現HTMLCSSJS
- tiltShift.js – CSS3 實現移軸鏡頭JSCSSS3
- js修改css變數值實現主題切換JSCSS變數
- Label和input實現純CSS切換CSS
- CSS 和 JS 阻塞二三事CSSJS
- jQuery的addClass,children,showjQuery
- css實現居中CSS
- jQuery toggleClass()方法程式碼例項jQuery
- 用js(hover )+css實現下拉框效果(有效果圖)JSCSS
- [數字華容道] Html+css+js 實現小遊戲HTMLCSSJS遊戲