1. 讲解 ydui.js 中的 util 中的方法 代码如下:(可以把下面代码放在自己命名的yduiutil.js 文件里面 其它名字都可以起 随你们怎么定义名称了! 然后我们在引用yduiutil.js文件 就可以调用这个方法了!)
/** * ydui.util */ !function (window) { window.YDUI={}; window.YDUI.util={}; var util = window.YDUI.util = window.YDUI.util || {}, doc = window.document; /** * 日期格式化 * @param format 日期格式 {%d天}{%h时}{%m分}{%s秒}{%f毫秒} * @param time 单位 毫秒 * @returns {string} */ util.timestampTotime = function (format, time) { var t = {}, floor = Math.floor; t.f = time % 1000; time = floor(time / 1000); t.s = time % 60; time = floor(time / 60); t.m = time % 60; time = floor(time / 60); t.h = time % 24; t.d = floor(time / 24); var ment = function (a) { if (a <= 0) { return ''; } return '$1' + (a < 10 ? '0' + a : a) + '$2'; }; format = format.replace(/\{([^{]*?)%d(.*?)\}/g, ment(t.d)); format = format.replace(/\{([^{]*?)%h(.*?)\}/g, ment(t.h)); format = format.replace(/\{([^{]*?)%m(.*?)\}/g, ment(t.m)); format = format.replace(/\{([^{]*?)%s(.*?)\}/g, ment(t.s)); format = format.replace(/\{([^{]*?)%f(.*?)\}/g, ment(t.f)); return format; }; /** * js倒计时 * @param format 时间格式 {%d}天{%h}时{%m}分{%s}秒{%f}毫秒 * @param time 结束时间时间戳 毫秒 * @param speed 速度 * @param callback ret 倒计时结束回调函数 ret 时间字符 ;ret == '' 则倒计时结束 * DEMO: YDUI.util.countdown('{%d天}{%h时}{%m分}{%s秒}{%f毫秒}', Date.parse(new Date()) + 60000, 1000, function(ret){ console.log(ret); }); */ util.countdown = function (format, time, speed, callback) { var that = this; var timer = setInterval(function () { var l_time = time - new Date().getTime(); if (l_time > 0) { callback(that.timestampTotime(format, l_time)); } else { clearInterval(timer); typeof callback == 'function' && callback(''); } }, speed); }; /** * js 加减乘除 * @param arg1 数值1 * @param op 操作符string 【+ - * /】 * @param arg2 数值2 * @returns {Object} arg1 与 arg2运算的精确结果 */ util.calc = function (arg1, op, arg2) { var ra = 1, rb = 1, m; try { ra = arg1.toString().split('.')[1].length; } catch (e) { } try { rb = arg2.toString().split('.')[1].length; } catch (e) { } m = Math.pow(10, Math.max(ra, rb)); switch (op) { case '+': case '-': arg1 = Math.round(arg1 * m); arg2 = Math.round(arg2 * m); break; case '*': ra = Math.pow(10, ra); rb = Math.pow(10, rb); m = ra * rb; arg1 = Math.round(arg1 * ra); arg2 = Math.round(arg2 * rb); break; case '/': arg1 = Math.round(arg1 * m); arg2 = Math.round(arg2 * m); m = 1; break; } try { var result = eval('(' + '(' + arg1 + ')' + op + '(' + arg2 + ')' + ')/' + m); } catch (e) { } return result; }; /** * 读取图片文件 并返回图片的DataUrl * @param obj * @param callback */ util.getImgBase64 = function (obj, callback) { var that = this, dataimg = '', file = obj.files[0]; if (!file)return; if (!/image\/\w+/.test(file.type)) { that.tipMes('请上传图片文件', 'error'); return; } var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function () { dataimg = this.result; typeof callback === 'function' && callback(dataimg); }; }; /** * 获取地址栏参数 * @param name * @returns {*} */ util.getQueryString = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"), r = window.location.search.substr(1).match(reg), qs = ''; if (r != null)qs = decodeURIComponent(r[2]); return qs; }; /** * Cookie * @type {{get, set}} */ util.cookie = function () { return { /** * 获取 Cookie * @param {String} name * @return {String} */ get: function (name) { var m = doc.cookie.match('(?:^|;)\\s*' + name + '=([^;]*)'); return (m && m[1]) ? decodeURIComponent(m[1]) : ''; }, /** * 设置 Cookie * @param {String} name 名称 * @param {String} val 值 * @param {Number} expires 单位(秒) * @param {String} domain 域 * @param {String} path 所在的目录 * @param {Boolean} secure 跨协议传递 */ set: function (name, val, expires, domain, path, secure) { var text = String(encodeURIComponent(val)), date = expires; // 从当前时间开始,多少小时后过期 if (typeof date === 'number') { date = new Date(); date.setTime(date.getTime() + expires * 1000); } date instanceof Date && (text += '; expires=' + date.toUTCString()); !!domain && (text += '; domain=' + domain); text += '; path=' + (path || '/'); secure && (text += '; secure'); doc.cookie = name + '=' + text; } } }(); }(window);
1. 倒计时怎么使用:
YDUI.util.countdown('{%d天}{%h时}{%m分}{%s秒}{%f毫秒}', Date.parse(new Date()) + 60000, 1000, function(ret){ console.log(ret); }); // console.log(ret) 将会输出结果 59秒988毫秒 // {%d天}{%h时}{%m分}{%s秒}{%f毫秒} 是时间格式 // Date.parse(new Date()) + 60000 是 结束时间时间戳; // 1000 是 速度 // function(ret){ console.log(ret); } 返回值 //YDUI.util.countdown(时间格式,结束时间时间戳,速度 ,回调函数 );
2. 加减乘除方法使用
YDUI.util.calc(2,"*",3);//输出结果 6 //YDUI.util.calc(第一个数值,算式,第二个数值);
3. 获取地址栏信息方法使用:
//http://localhost/Html5/wifiv2.html?id=232323&pid=332233 例子地址 YDUI.util.getQueryString("id");//它会获取当前你浏览的网页地址;上面只是个例子地址 让你更明白易懂 // 输出 232323 YDUI.util.getQueryString("pid"); // 输出 332233