摘要:在實現(xiàn)博客前端頁面一中已經(jīng)實現(xiàn)了的一些基礎(chǔ)封裝,在本文中將繼續(xù)封裝封裝方法如果在頁面中給某些元素設(shè)置了屬性,則需要使用屬性名來獲取這些節(jié)點,可以封裝方法,具體代碼如下獲取節(jié)點數(shù)組首先所有的節(jié)點判斷節(jié)點的是否與傳入的一致將一致的節(jié)點保存到數(shù)組
在JS實現(xiàn)博客前端頁面(一)中已經(jīng)實現(xiàn)了CSS的一些基礎(chǔ)封裝,在本文中將繼續(xù)封裝CSS
封裝getClass()方法如果在頁面中給某些元素設(shè)置了class屬性,則需要使用class屬性名來獲取這些節(jié)點,可以封裝getClass()方法,具體代碼如下:
//獲取class節(jié)點數(shù)組 Base.prototype.getClass=function(className){ //首先所有的節(jié)點 var arr = document.getElementsByTagName("*"); for (var i=0;i但有時候,我們不需要把所有獲取到的class都設(shè)置CSS,只需要設(shè)置其中的某一個,這時我們可以進行篩選,封裝getElement()方法,代碼如下:
//獲取某一個節(jié)點,傳入節(jié)點的number值 Base.prototype.getElement=function(num){ //獲取傳入num對應(yīng)的element值 var element = this.elements[num]; //清空this.elements數(shù)組 this.elements = []; //將獲取的element值再加入到數(shù)組中,當(dāng)前數(shù)組中只有一個值 this.elements[0]=element; //返回Base對象 return this; } //調(diào)用方法 window.onload=function(){ $().getClass("red").getElement(1).css("color","red").html("title"); };如果需要設(shè)置的css有區(qū)域的劃分,如需要設(shè)置id="aaa"區(qū)域中的class="red"的color:red;id="bbb"區(qū)域中的class=‘red’的color:green;則需要在css方法中傳入?yún)^(qū)域的id值,代碼如下:
//獲取class節(jié)點數(shù)組 Base.prototype.getClass=function(className,id){ //定義node用于獲取節(jié)點的范圍 var node=null; //判斷傳入的參數(shù)個數(shù),如果傳入兩個參數(shù),則node為傳入id下的 if(arguments.length==2){ node = document.getElementById(id); }else{ //默認時為全部節(jié)點 node = document; } //首先所有的節(jié)點 var arr = node.getElementsByTagName("*"); for (var i=0;i封裝addClass()方法 如果我們在style樣式表里設(shè)置了class a , class b的樣式,并需要在指定的元素節(jié)點上可以同時應(yīng)用a、b 的樣式,可以封裝addClass()方法,具體代碼如下:
//添加class,要求元素節(jié)點上可以同時添加多個class值,以空格隔開 Base.prototype.addClass=function(className){ for (var i=0;i封裝removeClass()方法 如果我們在需要移除指定的元素節(jié)點上的某個class的樣式,可以封裝removeClass()方法,具體代碼如下:
//移除class,傳入需要移除的className Base.prototype.removeClass=function(className){ for (var i=0;i以上內(nèi)容來自李炎恢老師JavaScript課程實戰(zhàn)篇筆記整理
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90932.html
摘要:在實現(xiàn)博客前端頁面一和實現(xiàn)博客前端頁面二中已經(jīng)實現(xiàn)了對獲取元素和樣式相關(guān)的方法的封裝,本文將在實現(xiàn)博客前端頁面三的基礎(chǔ)上實現(xiàn)彈窗組件封裝。 在JS實現(xiàn)博客前端頁面(一) 和JS實現(xiàn)博客前端頁面(二)中已經(jīng)實現(xiàn)了對獲取DOM元素和CSS樣式相關(guān)的方法的封裝,本文將在JS實現(xiàn)博客前端頁面(三)的基礎(chǔ)上實現(xiàn)彈窗組件封裝。 界面設(shè)計 如下圖所示,在點擊登錄按鈕后,會彈出網(wǎng)站登錄的彈窗:該彈窗組...
摘要:在實現(xiàn)博客前端頁面一和實現(xiàn)博客前端頁面二中已經(jīng)實現(xiàn)了對獲取元素和樣式相關(guān)的方法的封裝,本文將實現(xiàn)下拉菜單組件封裝。 在JS實現(xiàn)博客前端頁面(一) 和JS實現(xiàn)博客前端頁面(二)中已經(jīng)實現(xiàn)了對獲取DOM元素和CSS樣式相關(guān)的方法的封裝,本文將實現(xiàn)下拉菜單組件封裝。 下拉菜單 界面設(shè)計 創(chuàng)建一個頂部header區(qū)域,放入logo圖片和個人中心,鼠標(biāo)滑過個人中心時,會顯示下拉菜單,鼠標(biāo)移出時會...
摘要:因為用戶不用在第一次進入應(yīng)用時下載所有代碼,用戶能更快的看到頁面并與之交互。譯高階函數(shù)利用和來編寫更易維護的代碼高階函數(shù)可以幫助你增強你的,讓你的代碼更具有聲明性。知道什么時候和怎樣使用高階函數(shù)是至關(guān)重要的。 Vue 折騰記 - (10) 給axios做個挺靠譜的封裝(報錯,鑒權(quán),跳轉(zhuǎn),攔截,提示) 稍微改改都能直接拿來用~~~喲吼吼,喲吼吼..... 如何無痛降低 if else 面...
摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問起有關(guān)與時,老司機們首先就會告訴你其實是個沒有網(wǎng)絡(luò)請求功能的庫。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡單 原文地址:Learning React.js is easier than you think 原文作...
摘要:創(chuàng)建基本庫首先創(chuàng)建一個基本庫,名字叫做用于編寫最常用的代碼,然后不斷的擴展封裝。 1、創(chuàng)建基本庫 首先創(chuàng)建一個基本庫,名字叫做base.js,用于編寫最常用的代碼,然后不斷的擴展封裝。在最常用的代碼中,最常用的就是獲取節(jié)點的方法。這里我們可以編寫代碼如下: //創(chuàng)建base.js //整個庫可以是一個對象 var Base={ //方法名盡可能簡短而富有意義 getId...
閱讀 1041·2023-04-26 02:26
閱讀 2150·2021-09-26 10:16
閱讀 1557·2019-08-30 12:57
閱讀 3471·2019-08-29 16:10
閱讀 3225·2019-08-29 13:47
閱讀 1191·2019-08-29 13:12
閱讀 2143·2019-08-29 11:11
閱讀 1341·2019-08-26 13:28