首頁 > web前端 > js教程 > jquery外掛製作教學 txtHover_jquery

jquery外掛製作教學 txtHover_jquery

WBOY
發布: 2016-05-16 17:50:39
原創
971 人瀏覽過

定義外掛程式的結構骨架:
  書中最開始使用的結構骨架如下:

複製程式碼


程式碼>

jQuery.fn.fluginmane=function(){
  return this.each(function(){
    //code }

這種結構不是很理想,特別書中提到,為了防止衝突例子不使用$,而使用jQuery。在這裡,我們使用匿名函數的方式實作插件的結構骨架,這樣就可以防止可能的衝突。也希望大家好好了解與下匿名函數相關的知識。
複製程式碼 程式碼如下:

(function($){


(function($){


(ffn .fluginname=function(){
    return this.each(function(){
      //code...

注意點:
  1.為了統一和規範,我們的外掛程式檔案都將以jquery.fluginname.js的形式命名(fluginname代表你外掛程式的名字)。
  2.我們使用到的函數都需要是私有的,不能被外部存取到,這樣可保證插件不會受到外部的影響和乾擾(匿名函數已經保證了這點)。
  3.允許使用者使用options控制插件的行為。
  4.預設的options允許外部訪問,這樣使用者就可以用最少的程式碼實現自訂化。
  5.this.each()會遍歷所有符合要求的對象,他本身就是個jquery對象,插件最後返回該對象。其實透過這種方式就實現了javascript的鍊式模式。
我們的第一個外掛程式:txtHover
  1.程式碼實作:
複製程式碼



複製程式碼


程式碼如下
(function($){
  $.fn.txtHover=function(){
    return this.each(function(){     });
  } })(jQuery); 2.如何使用:

複製代碼


代碼如下:











this is test.

複製程式碼


程式碼如下:


(function ($) {


(function ($) { >$.fn.txtHover = function () {
return this.each(function () {
var temp = $(this).text();
$(this).hover(function ( ) {
$(this).text('text changed!');
}, function () {
$(this).text(temp);
});
}); 複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼 程式碼如下:

(function ($) {
$.fn.txtHover = function (options) {
var defaults = { txt: 'text changed!' };
var opt = $. extend(defaults, options);
return this.each(function () {
var self = $(this);
var temp = self.text();
self.hover(function () {
self.text(opt.txt);
}, function () {
self.text(temp);
});
});
}
})(jQuery);  

外掛定義了一個變數defaults,設定了預設的文字資訊。我們使用$.extend()(不了解這個函數的朋友可以去查閱資料)方法擴充了一個新變數opt,如果使用者傳入的options變數包含txt,則opt就使用使用者傳入的,否則就使用系統預設的。我們在系統中定義了 var self = $(this),來取代this物件。 this在javascript中是個很惱人的對象,在不同函數上下文中所代表的對象會不同,將this傳給一個另外的變數會避免程式出現一些錯誤。不熟悉的朋友很有必要好好掌握該知識點。
  用戶在html頁面上呼叫插件的時候,可以自訂滑鼠移到div上面時候的文字內容了。
$(document).ready(function () {
  $('#test').txtHover({ txt: 'test' });
});  好了,今天的範例到此好了,今天的範例到此為止。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板