国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

把jQuery的類、插件封裝成seajs的模塊的方法

2019-11-20 20:57:13
字體:
來源:轉載
供稿:網友

注:本文使用的seajs版本是2.1.1
一、把Jquery封裝成seajs的模塊

復制代碼 代碼如下:
define(function () {

   //這里放置jquery代碼 把你喜歡的jquery版本放進來就好了


return $.noConflict();
});

調用方法:
這樣引進就可以像以前一樣使用jquery

復制代碼 代碼如下:
define(function (require, exports, module) {
    var $ = require('./js/jquery');
 

   // $(document).ready(function () {
     //   $("tr").wyhinterlaced({ "odd": "red", "even": "blue" });
     //   $("tr").wyhhover();
   // })
});


二、把jquery的類封裝成seajs模塊
復制代碼 代碼如下:
define(function (require, exports, module) {

    var $ = require("../js/jquery");


    var weekday = new Array(7)
    weekday[0] = "星期一";
    weekday[1] = "星期二";
    weekday[2] = "星期三";
    weekday[3] = "星期四";
    weekday[4] = "星期五";
    weekday[5] = "星期六";
    weekday[6] = "星期日";

     function GetType(arg) {
        var today = new Date();
        var year = today.getFullYear();
        var month = today.getMonth() + 1;
        var td = today.getDate();
        var d = weekday[today.getDay() - 1];
        var h = today.getHours();
        var m = today.getMinutes();
        var s = today.getSeconds();
        switch (arg) {
            case 1:  //2013-09-09 09:31:56
                return year + "-" + month + "-" + td + "  " + h + ":" + m + ":" + s; break;
            case 2:  //2013-09-09 (星期一) 09:31:56
                return year + "-" + month + "-" + td + " (" + d + ") " + h + ":" + m + ":" + s; break;
            case 3:  //09-09-2013 09:31:56
                return month + "-" + td + "-" + year + "  " + h + ":" + m + ":" + s; break;
            case 4:  //09-09-2013 星期一 09:31:56
                return month + "-" + td + "-" + year + " (" + d + ") " + h + ":" + m + ":" + s; break;
            case 5:  //2013年09月09日 09時31分秒56
                return year + "年" + month + "月" + td + "日  " + h + "時" + m + "分" + s + "秒"; break;
            case 6:  //2013年09月09日 星期一 09時31分秒56
                return year + "年" + month + "月" + td + "日  (" + d + ")  " + h + "時" + m + "分" + s + "秒"; break;
        }
    };

    /*******************************************************
    /*函數名:GetTime
    /*參數:數值(包括整形浮點型都可以,浮點型會做四舍五入處理,如果不是數字,
    函數將采用默認的時間格式返回!時間樣式有15【1-15是有效的時間樣式
    超出或小于都將采用默認的樣式 樣式1】中)
    /*功能  獲取當前的系統時間 可定制格式
    *******************************************************/

     function  GetTime(arg) {
        if (!isNaN(arg)) {
            var num = Math.round(arg);

            if (num < 7 && num > 0) {
                return GetType(num);
            }
            else {
                var str;
                var str2;
                switch (num) {
                    case 0: return GetType(1); break;
                    case 7: str = GetType(2); return str.replace(/星期/, ""); break;
                    case 8: str = GetType(1); return str.replace(/-/, "/").replace(/-/, "/"); break;
                    case 9: str = GetType(2); return str.replace(/-/, "/").replace(/-/, "/");
                    case 10: str = GetType(2); str2 = str.replace(/-/, "/").replace(/-/, "/"); return str2.replace(/星期/, ""); break;
                    case 11: str = GetType(4); return str.replace(/星期/, ""); break;
                    case 12: str = GetType(3); return str.replace(/-/, "/").replace(/-/, "/"); break;
                    case 13: str = GetType(4); return str.replace(/-/, "/").replace(/-/, "/");
                    case 14: str = GetType(4); str2 = str.replace(/-/, "/").replace(/-/, "/"); return str2.replace(/星期/, ""); break;
                    case 15: str = GetType(6); return str.replace(/星期/, "");
                    default: return GetType(1); break;
                }
            }
        }
        else {
            return GetType(1);
        }
    };


    /* 獲取系統的當前年數*/
     function GetYear() {
        var today = new Date();
        return today.getFullYear();
    };


    /*獲取系統的當前的月數*/
      function GetMonth() {
        var today = new Date();
        return today.getMonth() + 1; ;
    };
    /*獲取系統的當前的天數*/
      function GetDay() {
        var today = new Date();
        return today.getDate(); ;
    };
    /*獲取系統的當前的小時*/
   function GetHours() {
        var today = new Date();
        return today.getHours();
    };
    /*獲取系統的當前的分鐘*/
     function GetMinute() {
        var today = new Date();

        return today.getMinutes();
    };
    /*獲取系統的當前的秒數*/
     function GetSecond() {
        var today = new Date();
        return today.getSeconds();
    };


    /************************************************************
    *函數名:TimeSubMillisecond
    *參數:endtime(結束時間) starttime(起始時間)
    *功能:獲取兩個時間的毫秒級的差值,必須寫一個參數 第二個參數(起始時間)可以
    *不寫默認是系統當前時間
    ************************************************************/
    function  TimeSubMillisecond(endtime, starttime) {
        var end = new Date(endtime).getTime();
        if (!endtime) {
            return -1;
        }
        if (!starttime) {
            start = new Date().getTime();
        }
        else {
            start = new Date(starttime).getTime();
        }
        if (start > end) {
            return -1;
        }
        else {
            return end - start;
        }
    };
    /************************************************************
    *函數名:TimeSubNormal
    *參數:endtime(結束時間) starttime(起始時間)
    *功能:獲取兩個時間的差值,必須寫一個參數 第二個參數(起始時間)可以
    *不寫默認是系統當前時間
    ************************************************************/

      function  TimeSubNormal(endtime, starttime) {
        var end = new Date(endtime).getTime();
        var start;
        if (!starttime) {
            start = new Date().getTime();
        }
        else {
            start = new Date(starttime).getTime();
        }
        if (start > end) {
            return -1;
        }
        else {
            var alltime = end - start;
            var seconds = alltime / 1000;
            var minutes = Math.floor(seconds / 60);
            var hours = Math.floor(minutes / 60);
            var days = Math.floor(hours / 24);
            var CDay = days;
            var CHour = hours % 24;
            var CMinute = minutes % 60;
            var CSecond = Math.floor(seconds % 60);
            var str = "";
            if (CDay > 0) {
                str += CDay + "天";
            }
            if (CHour > 0) {
                str += CHour + "小時";
            }
            if (CMinute > 0) {
                str += CMinute + "分鐘";
            }
            if (CSecond > 0) {
                str += CSecond + "秒";
            }
            return str;
        }
    };


    exports.GetTime = GetTime;
    exports.GetYear = GetYear;
    exports.GetMonth = GetMonth;
    exports.GetDay = GetDay;

    exports.GetHours = GetHours;
    exports.GetMinute = GetMinute;
    exports.GetSecond = GetSecond;
    exports.TimeSubMillisecond = TimeSubMillisecond;
    exports.TimeSubNormal = TimeSubNormal;

})

調用方法:

復制代碼 代碼如下:
define(function (require, exports, module) {
    var $ = require('./js/jquery');
    var a=require('./js/time');

    alert(a.GetTime(3));
});


三、把jquery 插件的封裝成seajs模塊
下面是把jquery的一個插件封裝成模塊的例子
復制代碼 代碼如下:
define(function (require, exports, moudles) {
    return function (jquery) {
        (function ($) {
             //給當前行高亮
  $.fn.wyhhover = function (options) {//options 經常用這個表示有許多個參數。
        var defaultVal = {
         BackColor: '#ccc',
        };

         var obj = $.extend(defaultVal, options);

          return this.each(function () {
            var tabObject = $(this); //獲取當前對象
            var oldBgColor = tabObject.css("background-color"); //獲取當前對象的背景色
            tabObject.hover(//定義一個hover方法。
            function (){tabObject.css("background-color", obj.BackColor);},
            function () {tabObject.css("background-color", oldBgColor);});
        });
        }
     //使奇偶行不同的顏色
        $.fn.wyhinterlaced = function (options) {//options 經常用這個表示有許多個參數。
        var defaultVal = {
         odd: '#DDEDFB',
         even: '#fff',
        };

         var obj = $.extend(defaultVal, options);

          return this.each(function () {
            var tabObject = $(this); //獲取當前對象
           if(tabObject.index()%2==0)
           {
              tabObject.css("background-color", obj.odd);
           }else
           {
             tabObject.css("background-color", obj.even);
           }
        });
        }
        })(jquery);
    }

})

調用方法:
使用共享的方式調用插件

復制代碼 代碼如下:
define(function (require, exports, module) {
    var $ = require('./js/jquery');
    require('./js/jquery_tr')($);//共享給jquery

    $(document).ready(function () {
        $("tr").wyhinterlaced({ "odd": "red", "even": "blue" });
        $("tr").wyhhover();
    })
});

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 棋牌| 墨玉县| 安泽县| 汕头市| 海伦市| 沾化县| 巨野县| 盘锦市| 阿拉善左旗| 梁山县| 淮南市| 科技| 綦江县| 昭苏县| 永丰县| 兴城市| 喜德县| 漾濞| 东平县| 唐河县| 云浮市| 白玉县| 四子王旗| 武穴市| 泸水县| 花莲市| 教育| 榆中县| 九寨沟县| 县级市| 稻城县| 十堰市| 陈巴尔虎旗| 博湖县| 罗山县| 丹阳市| 丰城市| 普兰店市| 深圳市| 浦城县| 南靖县|