标签:
源码如下:
/*! * 说明:Jquery库扩展 * 创建时间: leo 2016-8-4
* 更新时间:2016-8-5 */ (function (window, jQuery, undefined) { jQuery.extend({ /*日期时间处理*/ // data参数的格式为日期格式 date: { // 添加/减去月份 num为正就是加 为负就是减 countMonth: function(date, num){ var oDate, oMonth, oDay; oDate = new Date(date); oDay = oDate.getDate(); oDate.setDate(1); oDate.setMonth(oDate.getMonth() + num); oMonth = oDate.getMonth() + 1; oDay = $.date.getLastDay(oDate.getFullYear(), oDate.getMonth() + 1); return oDate.getFullYear() + ‘-‘ + (oMonth < 10 ? ‘0‘ : ‘‘) + oMonth + ‘-‘ + (oDay < 10 ? ‘0‘ : ‘‘) + oDay; }, // 获取最后一天 getLastDay: function(year, month){ var oDt; oDt = new Date(year, month - 1, ‘01‘); oDt.setDate(1); oDt.setMonth(oDt.getMonth() + 1); return new Date(oDt.getTime() - 1000*60*60*24).getDate(); }, // 计算 date1 - date2 得到相差天数 countDay: function (date1, date2) { return parseInt(Math.abs(new Date(date1) - new Date(date2)) / 86400000); //把相差的毫秒数转换为天数 }, }, /*操作*/ action: { // 指定 setTimeout 执行的次数 默认时间1秒 次数5次 setTimeoutWidthNum: function (fun, time = 1000, num = 5) { if (fun != null) { setTimeout(function () { fun(); num --; if (num > 0) $.action.setTimeoutWidthNum(fun, time, num); }, time); } }, }, //定位 position: { //使页面元素居中 isTure1代表是否左右居中 isTure2代表是否垂直居中 默认上下垂直居中 center: function (el, isTure1 = true, isTure2 = true) { var obj = $(el); if (obj.length > 0) { obj.each(function () { var _this, oW, oH; _this = $(this); oW = _this.width(); oH = _this.height(); _this.css(‘position‘, ‘absolute‘); if (isTure1) _this.css({ left: ‘50%‘, marginLeft: - oW / 2 }); if (isTure2) _this.css({ top: ‘50%‘, marginTop: - oH / 2 }); }) } } }, /*浏览器*/ browser: { // 设置名称为name 值为value的Cookie value为空就移除Cookie 保存时间默认3天 setCookie: function (name, value, time = 3 * 24 * 60 * 60 * 1000) { if (value == ‘‘) time = 0; var expdate = new Date(); //初始化时间 expdate.setTime(expdate.getTime() + time); //时间 document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString() + ";path=/"; }, // 获取cookie的value getCookie: function (cookieName) { var cookieValue, cookieStartAt, cookieEndAt; cookieValue = document.cookie; cookieStartAt = cookieValue.indexOf("" + cookieName + "="); if (cookieStartAt == -1) cookieStartAt = cookieValue.indexOf(cookieName + "="); if (cookieStartAt == -1) { cookieValue = null; }else { cookieStartAt = cookieValue.indexOf("=", cookieStartAt) + 1; cookieEndAt = cookieValue.indexOf(";", cookieStartAt); if (cookieEndAt == -1) cookieEndAt = cookieValue.length; cookieValue = unescape(cookieValue.substring(cookieStartAt, cookieEndAt));//解码latin-1 } return cookieValue; }, }, }) })(window, jQuery)
引入时需要先引入jquery.js,如下:
<script type="text/javascript" src="jquery-3.1.0.min.js"></script> <script type="text/javascript" src="leo.js"></script>
使用时直接调用,如下:
console.log($.date.countMonth(‘2015,10,30‘, 4)); // 2016-02-29 console.log($.date.countMonth(‘2015,10-30‘, -8)); // 2015-02-28 console.log($.date.countDay(‘2016-8/2‘,‘2016,7-20‘)); // 13 var n = 0; $.action.setTimeoutWidthNum(func); // 默认调用5次 function func(){ console.log(n); // 0, 1, 2, 3, 4 n ++; } $.position.center(‘#box‘); // 上下垂直居中
$.position.center(‘#box‘, true, false); // 左右居中
$.position.center(‘#box‘, false); // 上下居中
$.browser.setCookie(‘uname‘, ‘leo‘); console.log($.browser.getCookie(‘uname‘)); // leo $.browser.setCookie(‘uname‘,‘‘); console.log($.browser.getCookie(‘uname‘)); // null
本人会持续更新,谢谢支持 \(^o^)/~
标签:
原文地址:http://www.cnblogs.com/LY-leo/p/5740745.html