zoukankan      html  css  js  c++  java
  • Jquery 插件封装成seajs的模块

         上次下写的http://www.cnblogs.com/try-wyh/p/3322659.html这个写的不太好,所以特意今天来补充下

         我是使用的seajs 的版本是2.1.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();
       // })
    });

      2.jquery  类的封装

        

    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));
    });

    3.jquery 插件的封装

      这是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();
        })
    });
  • 相关阅读:
    mysql 基础学习2
    mysql 基础学习1
    awk 截取某段时间的日志
    Kinaba 简单画图
    ELK系统分析Nginx日志并对数据进行可视化展示
    ELK日志分析平台搭建全过程
    python linecache模块读取文件的方法
    python windows 远程执行bat
    PHP常用函数封装
    OneinStack 安装
  • 原文地址:https://www.cnblogs.com/try-wyh/p/3328200.html
Copyright © 2011-2022 走看看