<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jQuery_感受插件_一個簡單的文本處理插件

          插件,之前沒有動手寫的時候覺得很神秘,給人一種很難的感覺,但是萬事開頭難,先從最簡單的入手,記錄一下自己的學習軌跡。插件嘛,顧名思義,額外的組件,為了拓展功能而存在,那么Jquery的插件自然而然就是為了更加豐富Jquery的功能。
          一般來說,插件需要定義在一個單獨的js文件中,網上很多的插件也都是這么做的,一來因為它是“插件”嘛,應該獨立存在,不應該侵入代碼,二來也可以清晰的維護好插件的內容。定義插件之前,我們應該都清楚在Jquery中,$是jQuery的別名,通過$.來調用庫中的方法也就是通過jQuery.來調用,此時可能會有一個問題,$符號是為數不多的可以當做別名的符號,很多插件也都用$來當做自己的別名,那么類庫和類庫之間就可能存在沖突,根據實際情況,我們需要通過調用jQuery.noConflict();方法來消除$別名的沖突,該方法使得jQuery讓出$別名,不和其他類庫沖突,如此一來,就只能通過jQuery.來調用方法。
          下面就給出一個插件的案例jquery.plugIn.demo.js,在插件js中,為了兼顧開發效率并縮減代碼量,使用閉包的方式將jQuery關鍵字傳入,在閉包中繼續使用$作為別名。
     1 //如果有必要,消除$符號的沖突
     2 //jQuery.noConflict();
     3 (function($){
     4     
     5     //一個簡單的插件方法
     6     $.simple = function(name){
     7         alert("hello " + name);
     8     };
     9     
    10     //一個稍復雜的插件方法。如果某個函數需要多個參數,或含有可選的參數,使用options(對象的方式)對默認參數進行覆蓋
    11     //p1和p2作為必選參數,options參數傳入可選參數將默認數值進行覆蓋
    12     $.complex = function(p1,options,p2){
    13         //alert(p1 + "  " + options + "  " + p2);
    14         
    15         var ops = $.extend({
    16             p3:'#3',
    17             p4:'#4',
    18             p5:'#4'
    19         }, options||{});
    20         
    21         alert(p1 + " - " + p2 +" - ops:" + "p3=" + ops.p3 + ";p4=" + ops.p4 + ";p5=" + ops.p5);
    22         
    23     };
    24 })(jQuery);
    25 
    測試頁面:
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5     <head>
     6         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     7         <title>Jquery_16_Jquery插件基礎</title>
     8         <meta name="author" content="Administrator" />
     9         <script type="text/javascript" src="jquery-1.11.1.js"></script>
    10         <!--
    11             一般來說,插件需要定義在一個單獨的文件中,可以更好的維護
    12             *需要在jquery類庫導入之后再導入    
    13          -->
    14         <script type="text/javascript" src="jquery.plugIn.demo.js"></script>
    15         <script type="text/javascript">
    16             $(function(){
    17                 $.simple("duyt");
    18                 
    19                 $.complex("I'am",{p3:"111",p4:"222",p5:"333"},"duyt");
    20                 $.complex("I'am",{},"duyt");
    21             });
    22         </script>
    23     </head>
    24     <body>
    25     </body>
    26 </html>
    27 
    基于上述兩個簡單的插件方法,就可以試著寫一個具有功能性的插件了,下面實現一個處理長文本標題的小插件jquery.simpleTextCutter.plugIn.js
     1 (function($){
     2     //文本截留插件
     3     $.toFixedStr = function(OriStr,options){
     4         var settings = $.extend({
     5             fill:".",//可指定的省略符號
     6             length:12,//可指定的保留長度
     7             fillLength:3//可指定的省略符號顯示長度,例如"XXX..."
     8         },options||{});
     9         
    10         if(OriStr.length >12){
    11             OriStr = OriStr.substring(0,12);
    12             for(var i = 0;i<settings.fillLength;i++){
    13                 OriStr+=settings.fill;
    14             }
    15         }
    16         return OriStr;
    17     };
    18     
    19 })(jQuery);
    20 
    測試頁面
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5     <head>
     6         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     7         <title>Jquery_感受插件_簡易文本處理插件</title>
     8         <meta name="author" content="Administrator" />
     9         <script type="text/javascript" src="jquery-1.11.1.js"></script>
    10         <script type="text/javascript" src="jquery.simpleTextCutter.plugIn.js"></script>
    11         <!-- Date: 2014-12-01 -->
    12         <script type="text/javascript">
    13             $(function(){
    14                 $("ul li").each(function(index) {
    15                     var newStr = $.toFixedStr($(this).text(),{
    16                         fill:"~",
    17                     });
    18                     $(this).text(newStr);
    19                 });
    20             });
    21             
    22         </script>
    23     </head>
    24     <body>
    25         <ul>
    26             <li>123你你你444444444444444444</li>
    27             <li>456我我我77777777</li>
    28             <li>789他他他0000</li>
    29         </ul>
    30     </body>
    31 </html>
    32 
    以上就是實現jQuery插件的一個初步的感受

    posted on 2014-12-03 00:07 都較瘦 閱讀(275) 評論(0)  編輯  收藏 所屬分類: Jquery案例積累

    <2014年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    公告

    博客定位:囿于目前的水平,博客定位在記錄自己的學習心得和隨手的練習

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产av天堂亚洲国产av天堂| 欧美男同gv免费网站观看| 又大又硬又爽免费视频| 亚洲成av人片在www鸭子| 免费精品国产自产拍在| 亚洲免费中文字幕| 在线看片无码永久免费视频| 亚洲视频日韩视频| 国产一卡2卡3卡4卡2021免费观看| 亚洲国产高清美女在线观看| 久久国内免费视频| 亚洲成熟丰满熟妇高潮XXXXX| 成人免费777777| 黄页网址大全免费观看12网站| 免费一级成人毛片| 中文无码日韩欧免费视频| 亚洲国产精品无码一线岛国 | 国产精品无码亚洲精品2021| 永久免费看bbb| 四虎精品免费永久免费视频| 狠狠亚洲狠狠欧洲2019| 无码日韩精品一区二区三区免费| 久久亚洲熟女cc98cm| 日韩一区二区a片免费观看| 国产精品亚洲专区无码不卡| 久久精品亚洲福利| 67194成手机免费观看| 亚洲一区二区三区高清在线观看 | 亚洲中文字幕无码一去台湾| 三年片在线观看免费观看高清电影 | 亚洲无吗在线视频| 亚洲?V无码乱码国产精品| a级片免费在线观看| 麻豆狠色伊人亚洲综合网站| 国产国产人免费视频成69大陆| av电影在线免费看| 亚洲日本香蕉视频| 免费一级特黄特色大片在线观看| 在线成人精品国产区免费| 亚洲国产乱码最新视频| 亚洲熟女乱综合一区二区|