把jQuery的类、插件封装成seajs的模块的方法
这篇文章主要介绍了把jQuery的类、插件封装成seajs的模块的方法,需要的朋友可以参考下
注:本文使用的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();
})
});
把jQuery的类、插件封装成seajs的模块的方法的更多相关文章
- jquery插件封装成seajs模块
jquery直接在html中引入. jquery插件修改为: define(function (require, exports, moudles) { return function (jquery ...
- EasyUI 日期选择插件封装成选择到月份的插件
将普通的日期选择插件封装成选择到月份的插件: var nowMonth = new Date(); var month = ...
- jquery自定义类的封装
如何用jquery自定义一个类?(demo参考) /*简单使用*/ (function($){ //el操纵对象,option属性值 $.love = function(el,option){ var ...
- 把HTML5网页封装成APP,APK的方法
phonegap appcan HBuilder的native.js 推荐你用两个东西打包 一个是ionic,一个是hbuilder,Maven,apicloud http://mobi ...
- ybatis中查询出多个以key,value的属性记录,封装成一个map返回的方法
可以采用值做映射,也可以不采用映射方式 <resultMap id="configMap" type="java.util.Map" > <r ...
- python中操作excel数据 封装成一个类
本文用python中openpyxl库,封装成excel数据的读写方法 from openpyxl import load_workbook from openpyxl.worksheet.works ...
- 将Python脚本封装成exe可执行文件 转
将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html cx_freeze是用来将 Pyt ...
- 7.C++类与封装的概念
类通常分为以下两部分 -类的内部具体实现 -类的外部使用方法 比如: 用户使用手机,只需要知道如何使用. 而手机开发者,则需要考虑手机内部的实现细节. 类的封装 并不是类的每个成员变量和成员函数都要对 ...
- 引发事件代码封装成OnEventName
引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示: 1:引发事件代码: if (PropertyChanged != null)//为了实现将数据源的 ...
随机推荐
- Kaggle: Google Analytics Customer Revenue Prediction EDA
前言 内容提要 本文为Kaggle竞赛 Google Analytics Customer Revenue Prediction 的探索性分析 题目要求根据历史顾客访问GStore的数据,预测其中部分 ...
- Git版本库的创建(Ubuntu)
在Ubuntu上学习Git随笔. 一. git 仓库的安装 git 在终端用git命令查看Ubuntu是否安装git版本库,如果没有安装,最新版本(Ubuntu18.04)会提示用下面命令进行安装. ...
- 谈谈我对Manacher算法的理解
Manacher算法其实是求字符串里面最长的回文. ①在学习该算法前,我们应该知道回文的定义:顺序读取回文和逆序读取回文得到的结果是一样的,如:abba,aba. 那么我们不难想到,在判断一个字符串s ...
- PAT甲题题解-1095. Cars on Campus(30)-(map+树状数组,或者模拟)
题意:给出n个车辆进出校园的记录,以及k个时间点,让你回答每个时间点校园内的车辆数,最后输出在校园内停留的总时间最长的车牌号和停留时间,如果不止一个,车牌号按字典序输出. 几个注意点: 1.如果一个车 ...
- 作业 20181204-5 Final阶段贡献分配规则及实施
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479] 小组介绍 组长:付佳 组员:张俊余 李文涛 孙赛佳 田良 于洋 ...
- 用IDEA开发简单的Servlet
最近学习java,主要是servlet相关的内容.IDEA和servlet之前都没有碰过,所以做了一下小实验,走了一些弯路:这里把一个完整的步骤写出来,加深一下印象. IDEA创建项目步骤 1. 在i ...
- [转帖]linux namespace 和cgroup lxc
https://blog.csdn.net/xiaoliuliu2050/article/details/53443863 5.1 linux namespace 和cgroup lxc 2016年1 ...
- 这两天学到的简单Linux的命令
1. 定时执行命令查看命令的接口 watch -n kubectl get pods -n kube-ops 每十秒钟查看一下命令运行接口 2. 后台方式运行 jenkins 当前窗口关闭不影响执行结 ...
- 一本通1633【例 3】Sumdiv
1633:[例 3]Sumdiv 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 原题来自:Romania OI 2002 求 ABAB 的所有约数之和 mo ...
- BZOJ2653 middle(二分答案+主席树)
与中位数有关的题二分答案是很常用的trick.二分答案之后,将所有大于它的看成1小于它的看成-1,那么只需要判断是否存在满足要求的一段和不小于0. 由于每个位置是1还是-1并不固定,似乎不是很好算.考 ...