1. 程式人生 > >[JQ權威指南]物件級別外掛的開發

[JQ權威指南]物件級別外掛的開發

(1)功能描述
在列表

    元素中,滑鼠在表項
  • 元素移動時,可以自定義其獲取焦點(focus)時的背景顏色,即設定表項
  • 選中的背景色,
    (2)搭建框架
    新建一個JS檔案,命名為jquery.lifocuscolor.js,並在檔案中使用$.fn.extend()方法完成框架的搭建
/*------------------------------------------------------------/
功能:設定列表中表項獲取滑鼠焦點時的背景色
引數:li_col【可選】 滑鼠所在表項行的背景色
返回:原呼叫物件
示例:$("ul").focusColor("red");
/------------------------------------------------------------*/
; (function($) { $.fn.extend({ "yourPluginName": function(pram_value) { //各種預設屬性或引數設定 this.each(function(){ }) } }) })(jQuery);

(3)編寫程式碼

; (function($) {
    $.fn.extend({
        "focusColor": function(li_col) {
            var def_col = "#ccc"
; //預設獲取焦點的色值 var lst_col = "#fff"; //預設丟失焦點的色值 //如果設定的顏色不為空,使用設定的顏色,否則為預設色 li_col = (li_col == undefined) ? def_col : li_col; $(this).find("li").each(function() { //遍歷表項<li>中的全部元素 $(this).mouseover(function() { //獲取滑鼠焦點事件 $(this
).css("background-color", li_col); //使用設定的顏色 }).mouseout(function() { //滑鼠焦點移出事件 $(this).css("background-color", "#fff"); //恢復原來的顏色 }) }) return $(this); //返回jQuery物件,保持鏈式操作 } }); })(jQuery);

(4)引用外掛

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>編寫一個物件級別的外掛</title>
    <script type="text/javascript" 
            src="Jscript/jquery-1.4.2-vsdoc.js"></script>
    <script type="text/javascript" 
            src="Jscript/jquery-1.4.2.js"></script>
    <script type="text/javascript" 
            src="Plugin/jquery.lifocuscolor.js"></script>
    <style type="text/css">
           body{font-size:12px}
           .divFrame{width:260px;border:solid 1px #666}
           .divFrame .divTitle{padding:5px;background-color:#eee;font-weight:bold}
           .divFrame .divContent{padding:8px;line-height:1.6em}
           .divFrame .divContent ul{padding:0px;margin:0px;list-style-type:none}
           .divFrame .divContent ul li span{margin-right:20px}
    </style>
    <script type="text/javascript">
        $(function() {
            $("#u1").focusColor("red");//呼叫自定義的外掛
        })
    </script>
</head>
<body>
    <div class="divFrame">
         <div class="divTitle">
              物件級別的外掛
         </div>
         <div class="divContent">
              <ul id="u1">
                  <li><span>張三</span><span></span></li>
                  <li><span>李四</span><span></span></li>
                  <li><span>王五</span><span></span></li>
              </ul>
         </div>
     </div>

</body>
</html>

(5)頁面效果
這裡寫圖片描述