成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實用簡單的jQuery插件教程

開發 后端
對于jQuery初學者來說,開發jQuery插件是一個高級話題,這篇教程是一個如何創建簡單的jQuery插件教程,并且允許用戶改變一些設置。筆者用的是自己的jQuery教程-(Menu with jQuery Animate effect)并把菜單轉換成插件。

51CTO推薦專題: jQuery開發手冊

1、jQuery插件教程引言

開發jQuery插件是一個高級的話題對于jQuery初學者。這個月,我一直在加強學習jQuery。盡管我學習如何把javascript代碼和html文檔分開。當我看到我自己的javascipt文件時,我并不滿意。它太臟亂,所以我決定更近一步-學習如何開發jQuery插件來整理javascript文件。

這個插件是基于我以前的教程- Navigation List menu + jQuery Animate Effect Tutorial 。上次,我寫編寫的腳本都把代碼放到 document.ready段落中,就像下面的代碼。

 

 

1$(document).ready(function() {
 2
 3$('ul#menu li:even').addClass('even');
 4 
 5$('ul#menu li a').mouseover(function() {
 6 
 7   $(this).animate( { paddingLeft:"20px" }, { queue:false, duration:500 });
 8 
 9}).mouseout(function() {
10
11   $(this).animate( { paddingLeft:"0" }, { queue:true, duration:500 });
12 
13}).click(function() {
14
15   $(this).animate( { fontSize:"20px" }, { queue:false, duration:500 });
16});
17  
18});

 

 

但是現在 我想把代碼寫成類似如下格式:

1$(document).ready(function() {   

3    $(#menu).animateMenu({  
4   padding:20  
5    })  
6
7});

這樣的格式看起來更簡練,而且這些腳本可以在另一個工程重用。

2、插件結構

jQuery 官方網站在 Plugins/Authoring頁面提供了非常詳細的說明。 但是我發現它非常難以理解。

不過沒關系,為了使編寫插件更容易,使用下面的小段用來開發插件將是一個非常好的結構。

 

 

1//為了避免沖突,你需要一個匿名函數來包裝你的函數   
 2(function($){  
 3
 4    //給jQuery附加一個新的方法
 5   $.fn.extend({   
 6
 7   //這兒就是你要開發插件的名子
 8   pluginname: function() {  
 9
10 //迭代當前匹配元素集合
11  return this.each(function() {  
12
13 //插入自己的代碼 
14
15  });  
16   }  
17    });  
18 
19//傳遞jQuery參數到函數中,   
20//因此我們能使用任何有效的javascipt變量名來替換“$“符號。但是我們將堅持使用 $ (我喜歡美元符號:)
21

 

 

2、帶有可選項的插件

如果你看了***步的介紹,"padding"值對于這個插件是用戶配置的。他有利于一些設置,所以用戶能改變設置根據他們自己的需要。請確定你為每一個變量指定了默認值?,F在,如下的代碼:

 

 

1(function($){   
 2
 3    $.fn.extend({   
 4
 5   //pass the options variable to the function  
 6   pluginname: function(options) {  
 7
 8
 9  //Set the default values, use comma to separate the settings, example:  
10  var defaults = {  
11 padding: 20,  
12 mouseOverColor : '#000000',  
13 mouseOutColor : '#ffffff'  
14  }  
15   
16  var options = $.extend(defaults, options);  
17
18  return this.each(function() {  
19 var o = options;  
20   
21 //code to be inserted here  
22 //you can access the value like this  
23 alert(o.padding);  
24
25  });  
26   }  
27    });  
28 
29})(jQuery); 

 

 

3、動態菜單插件

現在你學習了插件的結構。緊接著是我基于以前教程的開發的插件。插件它允許4個配置:

1)、 animatePadding : 給animate 效果設置”padding“值

2)、 defaultPadding :   給padding設置默認的值 

3)、evenColor :設置偶數行事件的顏色

4)、oddColor : 設置奇數行事件的顏色

 

 

1(function($){   
 2    $.fn.extend({   
 3   //plugin name - animatemenu  
 4   animateMenu: function(options) {  
 5
 6  //Settings list and the default values  
 7  var defaults = {  
 8 animatePadding: 60,  
 9 defaultPadding: 10,  
10 evenColor: '#ccc',  
11 oddColor: '#eee'  
12  };  
13
14  var options = $.extend(defaults, options);  
15
16  return this.each(function() {  
17 var o =options;  
18   
19 //Assign current element to variable, in this case is UL element  
20 var obj = $(this); 
21   
22 //Get all LI in the UL  
23 var items = $("li", obj);  
24
25 //Change the color according to odd and even rows  
26 $("li:even", obj).css('background-color', o.evenColor);
27 $("li:odd", obj).css('background-color', o.oddColor);   
28
29 //Attach mouseover and mouseout event to the LI
30 items.mouseover(function() {  
31$(this).animate({paddingLeft: o.animatePadding}, 300);  
32  
33 }).mouseout(function() {  
34$(this).animate({paddingLeft: o.defaultPadding}, 300);  
35 });  
36   
37  });  
38   }  
39    });  
40})(jQuery);  
41
42

 

 

4、完整的源代碼

你可以保存這個插件再一個單獨的文件。(例如:jquery.animatemenu.js).在這個教程中,我把腳本放到html文檔中

 

 

1  
2"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
 3< HTML lang=en xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">  
 4 
 5< HEAD>  
 6      
 7    < SCRIPT type=text/javascript src=" http://code.jquery.com/jquery-latest.js">< /SCRIPT>  
 8    < SCRIPT>  
 9
10(function($){  
11    $.fn.extend({   
12   //plugin name - animatemenu  
13   animateMenu: function(options) {  
14
15  var defaults = {  
16 animatePadding: 60,  
17 defaultPadding: 10,  
18 evenColor: '#ccc',  
19 oddColor: '#eee',  
20  };  
21
22  var options = $.extend(defaults, options);  
23
24  return this.each(function() {  
25   var o =options;  
26   var obj = $(this);   
27   var items = $("li", obj);  
28
29   $("li:even", obj).css('background-color', o.evenColor);  
30   $("li:odd", obj).css('background-color', o.oddColor); 
31
32   items.mouseover(function() {  
33  $(this).animate({paddingLeft: o.animatePadding}, 300);  
34  
35   }).mouseout(function() {  
36  $(this).animate({paddingLeft: o.defaultPadding}, 300);  
37  
38   });  
39  });  
40   }  
41    });  
42})(jQuery);  
43 
44    < /SCRIPT>  
45 
46    < SCRIPT type=text/javascript>  
47    $(document).ready(function() {  
48   $('#menu').animateMenu({animatePadding: 30, defaultPadding:10});  
49    });   
50    < /SCRIPT>  
51    < STYLE>  
52 body {}{font-family:arial;font-style:bold}  
53 a {}{color:#666; text-decoration:none}
54   #menu {}{list-style:none;width:160px;padding-left:10px;}  
55   #menu li {}{margin:0;padding:5px;cursor:hand;cursor:pointer}  
56    < /STYLE>  
57
58  
59
60
< UL id=menu>  
61    < LI>Home  
62    < LI>Posts  
63    < LI>About  
64    < LI>Contact  
65< /LI>< /UL>
   
66
67  
68  
 

 

我希望這個jQuery插件教程能讓你更容易的理解jQuery插件

【編輯推薦】

  1. jQuery調用WCF服務傳遞JSON對象
  2. 學習jQuery必須知道的幾種常用方法
  3. 用XML+XSLT+CSS+JQuery組建ASP.NET網站
  4. 使用jQuery和PHP構建一個受Ajax驅動的Web頁面
  5. 使用 jQuery 簡化 Ajax 開發
責任編輯:彭凡 來源: cnblogs
相關推薦

2011-06-17 11:22:33

jQueryjQuery插件

2013-12-02 15:10:56

jQuery插件

2012-06-21 09:28:47

jQuery

2011-05-23 08:43:40

jQueryjQuery插件

2014-05-26 16:37:10

jQueryCSS3

2011-03-30 09:53:43

jQueryjQuery插件

2012-08-08 13:50:28

jQuery

2013-08-30 10:02:48

2011-01-21 07:22:48

jQuerywebJavaScript

2013-12-02 14:53:20

jQuery插件

2012-11-15 09:41:43

jQuery

2012-04-05 09:50:11

jQuery

2010-08-27 10:12:53

CSS

2011-03-31 11:40:13

SQL

2021-08-24 23:23:35

Python工具開發

2011-12-25 20:16:41

應用

2011-07-27 13:04:39

jQuery

2012-08-22 10:28:03

jQuery

2013-01-09 10:20:26

jQueryFlotjQuery插件

2012-05-10 13:45:45

jQuery
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成年网站 | 亚洲国产精品久久 | 亚洲一区二区三区观看 | 青青操av| 久久精品国产99国产精品 | 狠狠色综合久久丁香婷婷 | 久草视频在 | 日韩在线观看中文字幕 | 青青草一区| 中文字幕亚洲欧美 | 91精品久久久久久久久久入口 | 成在线人视频免费视频 | 国产一级视频在线 | 中文字幕免费在线 | 91免费福利视频 | 青青久久 | 国产一区二区在线播放视频 | 国产精品久久久久久久久久免费看 | 欧美成人猛片aaaaaaa | 亚洲欧美日韩国产综合 | 亚洲大片一区 | 欧美在线观看一区 | 精品视频在线观看 | 久久99精品久久久久久噜噜 | 国产精品不卡一区 | 欧美日韩一区二区在线观看 | 亚洲午夜精品 | 91av在线免费看| 国产久 | 一本久久a久久精品亚洲 | 北条麻妃av一区二区三区 | 国产精品成av人在线视午夜片 | 亚洲一区二区免费视频 | 美女视频一区二区 | 自拍视频精品 | 国产一区二区久久 | 九色综合网 | 精品国产乱码久久久久久中文 | 一级a性色生活片久久毛片波多野 | 综合五月 | 欧美一级欧美一级在线播放 |