前端專案積累和總結——jQuery的extend()方法
繼前篇《》,今篇學習一下jQuery為開發外掛提供的extend()方法。
因為我在專案中用到了兩個別人寫好的外掛,一個分頁器pagination,一個樹形列表simpleTree。
為讀懂程式碼,更好地利用外掛,就必須瞭解extend()。
積累:(三)jQuery的extend()方法
1. 兩種擴充套件方法
jQuery.fn = $.fn = jQuery.prototype // jQuery 的物件原型
(1)jQuery.extend()
= $.extend() //類方法,不需要例項化就可以使用的方法(工具類)。呼叫:$.fun(); 或 jQuery.fun();
(2)jQuery.fn.extend() = $.fn.extend() 例項方法 , 通過例項(如$("selector"))呼叫。呼叫:$("selector").fun();
另外,jQuery.extend()方法除了具有擴充套件 jQuery 類方法 的功能外,一般用於合併物件。
2. 例項jQuery.extend(target [, object1] [, objectN]); //合併 object1 ... objectN 到 target 物件,如果只有一個引數,則合併到 jQuery 物件中 例子: var settings = { a: false, b: 5, name: "hh" }; var options = { a: true, name: "gg" }; jQuery.extend(settings, options); result:settings == { a: true, b: 5, name: "gg" }
(1)分頁器
function user_paginationNick(opt){
//引數設定
var pager={
paginationBox:'pagination-nick',//分頁容器--必填
mainBox:'main-box-nick',//內容盒子--必填
//...
data:[],//ajax請求的資料
};
pager = $.extend(pager,opt);//用opt物件來擴充套件pager物件,返回被擴充套件的pager物件
//設定ajax請求資料分成的最大頁碼
pager.maxCount=pager.data.length % pager.pageCount ? parseInt(pager.data.length / pager.pageCount) +1 :
pager.data.length / pager.pageCount;
//請求資料頁面跳轉方法
function goPage(btn){
}
//建立非數字按鈕和資料內容區
function createOtherBtn(){
}
//建立數字按鈕
function createNumBtn(page){
}
//首屏載入
createOtherBtn();//首屏載入一次非數字按鈕即可
goPage(userPageFlag);//請求資料頁面跳轉滿足條件按鈕點選都執行,首屏預設跳轉到currentPage
}
呼叫:
user_paginationNick({
data:userObj
});
(2)樹形列表
$(function(){//$(function(){ }是$(document).ready(function(){}的簡寫
$.fn.extend({ // $.fn.extend對jQuery.prototype進得擴充套件,就是為jQuery類新增“成員函式”
SimpleTree:function(options){
//引數初始化
var option = $.extend({
click:function(a){ }
},options);
option.tree=this; /* 在引數物件中新增對當前選單樹的引用,以便在物件中使用該選單樹*/
option._init=function(){
}/* option._init() End */
/* 設定所有超連結不響應單擊事件 */
this.find("a").click(function(){$(this).parent("li").click();return false; });
/* 選單項 <li> 接受單擊 */
this.find("li").click(function(){
});
/* 設定所有父節點樣式 */
this.find("ul").prev("li").addClass("folder");
/* 設定節點“是否包含子節點”屬性 */
this.find("li").find("a").attr("hasChild",false);
this.find("ul").prev("li").find("a").attr("hasChild",true);
/* 初始化選單 */
option._init();
}/* SimpleTree Function End */
});
});
呼叫:
$(function(){
$(".st_tree").SimpleTree({
click:function(a){
}
});
});
後記:剛接觸前端,對原生的js仍是一知半解,對jQuery更是無從下手,所以學一點會一點,懂一點是一點。
相關推薦
前端專案積累和總結——jQuery的extend()方法
繼前篇《》,今篇學習一下jQuery為開發外掛提供的extend()方法。 因為我在專案中用到了兩個別人寫好的外掛,一個分頁器pagination,一個樹形列表simpleTree。 為讀懂程式碼,更好地利用外掛,就必須瞭解extend()。 積累:(三)jQuer
前端專案積累和總結——表單驗證
前言: 自2017.7.6入職,如今已經整整五個月。在天津的培訓階段已經接近尾聲,我認為有必要總結一下這段時間學到的點點滴滴。做技術重在經驗和積累,既然入了軟體開發的“坑”,我只能硬著頭皮往下走。無論如何,在這條“軟”路上,我走過的每一步都應有它的意義和價值。 該前端專案簡
.net core MVC接受來自自前端的GET和POST請求方法的區別
小夥伴們都知道,常用的http請求有兩種方式,即GET方法和POST方法,很多剛入門的童鞋難免都會有一個誤區,是不是GET是從伺服器上獲取資料,POST是向伺服器傳送資料? 我的理解是:不論是GET還是POST,都是向伺服器提交資料,並且請求之後都會從伺服器獲取資料,兩者的區別僅是傳送方式不同而已,GET通
純自創新浪部落格前端專案js和html自己寫時操作步驟詳細,用到的圖片已上傳,已90%但非完整專案
//這部分是html檔案 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
Ubuntu 16.04 經驗積累和總結
前言:起先是安的14.04+win10雙系統,後來16.04出了後,頭腦一熱就把win10給解除安裝了(原因是覺得16.04的開機介面比14的開機介面好看…固態也沒多少空間了),結果用了沒幾天不知道改了啥unity一直不顯示(蛋疼了好幾天一隻解決不了只好換
JQuery控制radio選中和不選中方法總結
use 獲取 class rop als trade val pro put 一、設置選中方法 代碼如下: $("input[name=‘名字‘]").get(0).checked=true; $("input[name=‘名字‘]").attr(‘checked‘,
前端開發規範總結 總結前端開發模式和規範
這樣的 oat 真假 貢獻 駝峰命名 lpad 使用 後者 載器 1、前端開發規範 WEB客戶端開發自成體系, 主要用於智能終端(iPhone、Android手機、iPad、Android Pad)和傳統PC的開發。JS規範、HTML規範和CSS規範對客戶端開發進行全方位指
JavaScript中的深拷貝和淺拷貝方法總結
在日常的程式碼書寫中常常會遇到拷貝問題,今天我們就來總結一下常用的淺拷貝和深拷貝都有哪些實現方法。 淺拷貝常用方法: slice var arr1=[1,2],arr2=arr1.slice(); console.log(arr1);//[1,2] console.log(a
js中動態獲取頁面的高度和寬度的方法總結
javascript,jquery獲取網頁的高度和寬度: javascript: 可視區域寬:document.documentElement.clientWidth(width+padding) 可視區域高:document.documentElement.clientHeight(h
js中陣列和字串的方法總結
一、陣列方法簡單總結為以下幾種 1、原有: 增、刪、改、截、拼、復、排、轉 2、ES5擴充套件: 查、遍歷 增: 前增 var arr = [3,4,5,6,7]; console.log(arr.unshift(
前端專案實踐之“道”:用對了方法,效率翻番
作者:個推Web前端首席前端架構師姜季廷 現在前端非常火熱,相關的技術更是層出不窮,前端人也在不停地學學學。那麼有沒有什麼“偷懶”的方式,幫助我們更加有效地完成編碼的KPI呢?本人從事前端開發工作多年,負責公司多個大型專案前端架構設計與落地實踐,本文就和大家聊一聊前端的“專案實踐之道”與“
小專案使用less預編譯css的常用東西步驟和總結
Less使用 http://lesscss.cn/(Less 中文網) 下載編譯工具(koala) 安裝 開啟後如圖 初始化設定 點選設定進行語言設定,關閉重啟 點選加號進行程式碼專案匯入,如上圖所示 右擊此專案設定輸出路徑,雙擊此專案進行less設定 Les
nodejs解壓版安裝和配置(帶有搭建前端專案腳手架)
nodejs 安裝 我先前用了nvm,覺得nvm挺厲害可以隨時更換nodejs版本,但是研究了下,可能自己功力不夠還是什麼,並不好用,中間還出現了錯誤;所以最後還是解除安裝了; 本文圖文並茂的一步一步的來,旨在好用簡潔: 1】第一步:下載nodejs 中文官網: https://nodej
android天天理財專案構建思路程式碼和總結知識點--2
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="white-space:pre"> </sp
android天天理財專案構建思路程式碼和總結知識點--1
本專案屬於android開發者入門練習上手的簡單專案,值得學習和研究總結一下,內部的套路在開發android上都是大同小異。首先我們把幾個大的功能點分割槽看下,後續我在寫其他的內部分支功能。 模組大體功能 檢視詳情 新增支出
總結前端隱藏div的幾種方法
在瀏覽論壇的時候,看到有朋友在面試的時候被問了有幾種方法實現讓一個div隱藏,下面來總結一下: display:none; 該屬性會完全隱藏元素,並不會佔據頁面空間 visibility:hidden; 該屬性僅僅是隱藏元素,但會佔據頁面空間
linux中將printf重定向到telnet的方法和總結
在linuxc開發過程中肯定會遇到重定向的問題,重定向最多的就是printf,下面給出重定向的程式碼和需要注意的問題。 void telnetCtlPrintf(int index) { int fd; char tempPath[64]; memset(tempPath,0,s
一起學Hive——總結複製Hive表結構和資料的方法
在使用Hive的過程中,複製表結構和資料是很常用的操作,本文介紹兩種複製表結構和資料的方法。 1、複製非分割槽表表結構和資料 Hive叢集中原本有一張bigdata17_old表,通過下面的SQL語句可以將bigdata17_old的表結構和資料複製到bigdata17_new表: CREATE TABLE
Web 專案啟動和關閉執行的某個方法
一、web.xml配置 <listener> <listener-class>com.servlet.InitListener</listener-class> </listener> com.se
Lombok介紹、使用方法和總結
1 Lombok背景介紹 官方介紹如下: Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boiler