记一些比较通用的方法
2017-09-29 本文已影响13人
乘风破浪55
-
页面通过URL传参
样例:http:/xxx.html?param={"key":"value","key": "value","key":"value"}// 接收并处理url传递参数 getParam : function(){ var href = decodeURIComponent(window.location.href); var aaa = href.substring(href.indexOf('?') + 1, href.length).split('=')[1]; var getParam = null; if (aaa) { getParam = JSON.parse(aaa); } else { console.log('没有参数传入',{ duration:'short', type:'div' }); } return getParam; }
-
获取屏幕宽高
//屏幕宽度 wWidth : window.screen.width, //屏幕高度 wHeight : window.screen.height
-
获取时间
getDate : function() { var d = new Date(); return { // 年 y : d.getFullYear(), // 月 m : PrefixInteger(d.getMonth() + 1,2), // 日 d : PrefixInteger(d.getDate(),2), // 时 h : PrefixInteger(d.getHours() ,2), // 分 min : PrefixInteger(d.getMinutes(),2), // 秒 s : PrefixInteger(d.getSeconds(),2), // 季度 jd : Math.floor((d.getMonth() + 3) / 3), // 毫秒 ms : d.getMilliseconds() }; }
-
长按处理和短按处理
$.fn.longPress = function(fn, fn2) { var timeout = undefined; var $this = this; for(var i = 0; i < $this.length; i++){ var start = ''; var end = ''; var noMove = true; $this[i].addEventListener('touchstart', function(event) { //长按时间超过800ms,则执行传入的方法 start = new Date(); }, false); $this[i].addEventListener('touchmove', function(event) { //滑动 noMove = false; }, false); $this[i].addEventListener('touchend', function(event) { //长按时间少于800ms,不会执行传入的方法 end = new Date(); var diff = end - start; if (diff > 800) { fn(this); } else { if (noMove) { fn2(this); } } }, false); } }
-
避免短时间重复点击
tapOnce : function(ele,callback) { var tapNum = 0; ele.on("tap", function(e) { tapNum ++; if (tapNum == 1) { callback(e); } else { setTimeout(function() { tapNum = 0; }, 100); } }); }
-
取消冒泡
stopBubble : function(e){ //一般用在鼠标或键盘事件上 if(e && e.stopPropagation){ //W3C取消冒泡事件 e.stopPropagation(); } else { //IE取消冒泡事件 window.event.cancelBubble = true; } }
-
数字 num 实现 n 位数显示,前面自动补零
prefixInteger : function(num, n) { return (Array(n).join(0) + num).slice(-n); }
-
IOS 和 Android 终端检测
//IOS 和 Android 终端检测 function isIOS() { var u = navigator.userAgent; console.log(u); //android终端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //ios终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if(isiOS) { return true; } else if (isAndroid) { //console.log('是否是Android:'+isAndroid); return false; } }
此处部分原创部分是从他处收藏,但是因为没有记录当初收藏部分的作者信息,所以无法一一备注声明。如果有侵权请告知我,马上删除。