導航:首頁 > 安裝方法 > jq自定義方法寫在哪裡

jq自定義方法寫在哪裡

發布時間:2022-12-12 08:01:52

Ⅰ jquery怎麼調用自己定義的方法

比如定義的方法如下:
function objectClass(){
alert("這是自己定義的方法");
}
調用這個方法:
function useObjectClass(){
objectClass();
}
那麼當事件觸發useObjectClass()方法時,就會調用objectClass()方法了。

如何創建一個自定義jquery插件

jQuery 庫是專為加快 JavaScript 開發速度而設計的。通過簡化編寫 JavaScript 的方式,減少代碼量。使用
jQuery 庫時,您可能會發現您經常為一些常用函數重寫相同的代碼。如果這樣的話,這可能就是您需要編寫自定義 jQuery 插件的一個原因。
jQuery 插件允許您使用自定義代碼擴展 jQuery 庫;您可以對一些重復性函數使用插件。例如,很多插件可供幻燈片、下拉菜單和折疊菜單所用。如果您搜索 jQuery 插件,就會發現有大量可用於自己項目的示例(看看它們是如何構建的)。

准備工作

對JavaScript、jQuery 和CSS有一個基本了解。(用到的源代碼及示例在本文最下方)

開始

jQuery 是一個可擴展 JavaScript 語言的庫。當您創建一個 jQuery 插件時,本質上是在擴展這個 jQuery
庫。要真正了解插件如何擴展 jQuery 庫需要對 JavaScript prototype 屬性有一個基本了解。盡管不直接使用,但是
JavaScript prototype 屬性可通過 jQuery 屬性 fn 在後台使用,這是原生 JavaScript prototype
屬性的一個 jQuery 別名。
要使用 fn 屬性創建一個新 jQuery 插件,只需要為 fn 屬性分配一個插件名,並將其指向一個充當構造函數的新函數,類似於純
JavaScript。Code 1顯示了如何定義一個名為 accordion 的新 jQuery 插件,其方法是通過使用 jQuery 對象和
fn 屬性,並將其分配給一個新的構造函數。
Code 1:定義一個名為 accordion 的新 jQuery 插件
jQuery.fn.accordion = function() {
// 在這里添加插件代碼
};

Code 1 展示了創建 jQuery 插件的一種方法;該示例沒有什麼功能性錯誤。但是,創建一個 jQuery
插件所推薦的方法是,先創建一個允許使用美元符號 ($) 的包裝器函數。在默認情況下,美元符號可能與其他 JavaScript
框架發生沖突,如果將插件包裝在一個函數中,就不會出現沖突。Code 2 中的示例代碼顯示如何將一個包裝器函數應用到一個 jQuery
插件定義中。
(function($) {
$.fn.accordion = function() {
// 在這里添加插件代碼
};
})(jQuery);

在Code 2 中,jQuery 關鍵字被應用到包裝器函數中,這允許您在插件中使用美元符號,就像使用 fn
屬性時那樣。包裝器函數就緒後,就可以在整個插件的任何地方使用美元符號代替 jQuery
關鍵字,不會干擾其他第三方插件。該選項提供了一種方法使我們可以在開發整個插件中編寫較少的代碼,並且有助於您的插件代碼保持整潔,易於維護。
維護鏈接性
jQuery 的一個優勢是允許您使用任何類型的選擇器。但是,必須記住,您的插件可以處理幾種不同的元素類型。使用 this
關鍵字允許您的插件應用於相關函數,通過循環實現每個元素的訪問,而不考慮元素類型。如果在 each 循環前使用 return
關鍵字,就可以使用您的插件維護鏈接性。清單 3 顯示了分配給一個函數處理程序且與 return 關鍵字相結合的 each 循環。
code 3. 在 each 循環之前使用 return 關鍵字
(function($) {
$.fn.accordion = function() {
return this.each(function() {
// 使用 return
});
};
})(jQuery);

有了Code 3 的代碼後,示例 accordion 插件可用在一個方法調用鏈中。有了鏈接性(另一個強大的 jQuery
特性),您的插件就可用在一個方法調用鏈中。例如,下面的代碼顯示了如何淡出 HTML 元素,並在單一的方法調用鏈中將其從文檔對象模型 (DOM)
中刪除。
$("#my-div").fadeOut().remove();

構造一個 accordion

一個典型的層疊設計包括標題欄和相關內容區域。定義列表是一個可供 accordions 使用的很好的 HTML 結構;dt 元素供標題所用,而dd 元素供內容區域所用。清單 4 中的 HTML 結構是一個定義列表,含有四個標題以及相應的內容區域。
Code 4. 單一方法調用鏈
<dl class="accordion" id="my-accordion">
<dt>第1部分</dt>
<dd>內容一</dd>
<dt>第2部分</dt>
<dd>內容二</dd>
<dt>第3部分</dt>
<dd>內容三</dd>
<dt>第4部分</dt>
<dd>內容四</dd>
</dl>

Code 4 中定義的列表也有一個分配給它的名為 accordion 的 CSS 類。沒有應用任何 CSS,這個 accordion 結構看起來類似於圖 1 中的基礎設計
為了美觀,我們再給Code 4中的Html美化一下,並命名為「jquery.accordion.css」
Code 5. CSS部分
.accordion {
width: 500px;
border: 1px solid #ccc;
border-bottom: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
.accordion dt,
.accordion dd {
border-bottom: 1px solid #ccc;
margin: 0px;
}
.accordion dt {
background: #eaeaea;
cursor: pointer;
padding: 8px 4px;
font-size: 13px;
font-weight: bold;
}
.accordion dd {
padding: 12px 8px;
}

效果如下圖:

自定義插件

要製作一個功能性 accordion,必須將自定義代碼應用到您上一小節創建 jQuery 插件的函數。accordion
插件從遍歷所有已定義的 accordion 開始。要定義一個 accordion,在 HTML 文檔或外部嵌入式 JavaScript
文件中使用下列 jQuery。
$('dl#my-accordion').accordion();

對於每個 Accordion,您可以使用 jQuery 的 children 方法訪問相關定義的標題,返回一個數組或 dt 元素。應用一個
click 事件到 dt 元素,然後一個名為 reset 方法應用到每個 dt。accordion 首次載入時,該 reset 方法會折疊所有
dd 元素。單擊 dt 元素或者標題欄時,click 事件會觸發一個名為 onClick 的自定義方法。自定義 onClick 方法用於查找
accordion 中的所有 dt 元素。它調用一個自定義 hide 方法,該方法通過使用 next 方法找到緊挨著 dt 元素的 dd
元素,隱藏每個相關的 dd 元素,通過使用 next 方法找到緊挨著 dt 元素的 dd 元素,然後向上滑動激活它。
所有 dd 元素被隱藏後,使用 slideDown 方法,就可以看見與單擊過的 dt 元素相關的 dd 元素,並創建一個放大和收縮動畫,如清單 8
所示。onClick 方法的最後一行代碼是 return false,確保任何被點擊的主題欄沒有顯現出其一般行為。例如,如果您使用一個
anchor 元素作為標題欄,您可能想要執行 return false,這樣就不會將用戶定向到另一個頁面或現有頁面的一部分。
Code 6. 自定義用於創建一個 jQuery 插件的 accordion 函數
(function($) {
$.fn.accordion = function(options) {
return this.each(function() {
var dts = $(this).children('dt');
dts.click(onClick);
dts.each(reset);
});

function onClick() {
$(this).siblings('dt').each(hide);
$(this).next().slideDown('fast');
return false;
}

function hide() {
$(this).next().slideUp('fast');
}

function reset() {
$(this).next().hide();
}
}
})(jQuery);

如果該 accordion 插件與一個 HTML 定義列表結構相關聯時,比如您之前創建的那個 accordion 函數將被應用。有了
accordion 函數,單擊一個標題欄或 dt 元素時,會打開其內容區域,而其他內容區域則關閉。換句話說,一次只能打開一個內容區域。

設定插件的默認值(Defaults)和設置項(options)

jQuery 插件可以包括 defaults 和 options。Options 本質上就是傳遞給插件的參數。可以使用 options
發送一個參數作為 object literal,這是一個標准 jQuery 實踐,而不需要傳遞多個參數。如果您的插件支持 options,使用
defaults 對象設置默認的 options 將是一個最佳方式。和 options 一樣,defaults 是一個 object
literal,應該包括您想要傳遞到插件中的屬性。
例如,如果您支持一個可用於在首次載入時打開 accordion 第一個內容區域的屬性,那麼在您的插件中應該包括一個 open
屬性的默認值。在您的插件中使用 defaults 確定默認函數,使用 options 覆蓋默認值。如果插件接收 options,可以使用
$.extend 方法執行覆蓋。jQuery 的 $.extend 方法合並兩個或多個對象。Code 7 中的示例顯示在一個自定義 jQuery
插件中使用 $.extend 方法合並用戶定義選項和默認選項的一般實現。
Code 7. 向一個自定義的 accordion jQuery 插件添加 options 和 defaults
(function($) {
$.fn.accordion = function(options) {
var settings = $.extend({}, {open: false}, options);
return this.each(function() {
var dts = $(this).children('dt');
dts.click(onClick);
dts.each(reset);
if(settings.open) $(this).children('dt:first-child').next().show();
});

function onClick() {
$(this).siblings('dt').each(hide);
$(this).next().slideDown('fast');
return false;
}

function hide() {
$(this).next().slideUp('fast');
}

function reset() {
$(this).next().hide();
}
}
})(jQuery);

$.extend 方法參數是一個目標對象和 2 個或多個合並對象。在本示例中,目標對象是一個空 object
literal,充當合並對象容器。目標將成為一個包含合並對象值的單一對象(在該案例中是 settings 變數)。第 2
個參數是一個包含默認插件屬性的 object literal。第 3 個參數是用戶定義的 options 參數。要在一個 HTML 元素上使用
accordion 插件傳遞 options,需要知道除了之前您作為 object literal 傳遞的屬性外還有哪些屬性,如下所示。
$('dl#my-accordion').accordion({open:true});

在Code 7 示例中,傳遞到插件的 options 通過 $.extend 方法覆蓋 defaults。如果沒有傳遞 options,則使用默認值。對於示例插件,可使用 open 屬性確定載入時是否打開第一個內容區域。

可重用性

您可以在任何 HTML 文檔中重用示例 accordion 插件,可以在單個 HTML 文檔中多次使用。您也可以包括多個
accordion 結構,就像已創建的那個 accordion,使用剛創建的新 accordion 插件通過 jQuery 將每個單獨定義為
accordion。要向一個 HTML 文檔添加多個 accordion,只需要添加盡可能多的 accordion 結構。Code 8
中的代碼包括兩個 accordion 結構,由一個段落隔開。
Code 8. 在同一個 HTML 文檔中使用多個 accordion
<dl class="accordion" id="my-accordion">
<dt>第1部分</dt>
<dd>內容一</dd>
<dt>第2部分</dt>
<dd>內容二</dd>
<dt>第3部分</dt>
<dd>內容三</dd>
<dt>第4部分</dt>
<dd>內容四</dd>
</dl>

<dl class="accordion" id="my-accordion">
<dt>第5部分</dt>
<dd>內容五d>
<dt>第6部分</dt>
<dd>內容六dd>
<dt>第7部分</dt>
<dd>內容七/dd>
</dl>

Code 8 中的兩個 accordion 結構幾乎一樣,除了內容不一樣外,更重要的是 ID 值也不一樣。第一個結構包含一個
my-accordion ID 值。第 2 個結構包含一個 my-accordion2 ID 值。現在可以單獨定向這些結構。例如,下列
jQuery 腳本使用已創建的新插件將每個 accordion 結構定義為一個 accordion。
$('dl#my-accordion').accordion({open:true});
$('dl#my-accordion2').accordion({open:true});
兩個 accordion 結構定義完成後,第一個面板默認設置為打開下圖 顯示一個用在同一個 HTML 文檔的多個 accordion 插件的示例。

Ⅲ 在JQuery裡面怎麼寫自定義函數

你可以寫一個函數自調用方法,(function(
在這裡面寫方法,就自己調用了,
)());
想要把握調用的時機,可以直接用你的那種方法,在你想調用的地方這樣寫就OK了,getNowTime();關鍵是你的自己新建一個Js文件,引用的時候在jquery之後

Ⅳ 就是我定義一個jq自定義方法方法里寫有 var settings = { 'Index_url': "1" }; 這樣的格式

你需要把配置進行合並才行。

varsettings=$.extend({
'Index_url':'1'
},options);

Ⅳ jquery方法怎麼寫

jQuery 有很多函式。你是想寫出一套新的 jQuery,想寫新的 jQ 函式,還是想用 jQ 寫自己的函式?

閱讀全文

與jq自定義方法寫在哪裡相關的資料

熱點內容
小區水表串號解決方法 瀏覽:325
怎麼提升工作效率的方法 瀏覽:171
知識牆解決方法 瀏覽:220
梁中構造筋工程量的計算方法方法 瀏覽:909
咳嗽有什麼治療方法 瀏覽:177
麵食的烹飪方法圖片 瀏覽:19
動漫生日賀卡簡單的製作方法 瀏覽:932
哪些方法有利於緩解便秘 瀏覽:647
蘋果果膠使用方法 瀏覽:982
不流失菌的實驗檢測方法 瀏覽:763
研究網紅營銷方法 瀏覽:301
樂力果精華液使用方法 瀏覽:39
怎麼判斷噪音的方法 瀏覽:519
海信電視畫面抖動解決方法 瀏覽:325
中山車牌選號50選一最佳方法 瀏覽:165
如何追蹤朋友的方法 瀏覽:427
蚌粉食用方法 瀏覽:77
耳機鍵功能在哪裡設置方法 瀏覽:485
果樹長蟲怎麼處理方法 瀏覽:299
吃雞找對手最簡單的方法 瀏覽:133