加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

JavaScript常用工具方法封装

发布时间:2019-02-14 20:03:07 所属栏目:优化 来源:佚名
导读:JavaScript 1. type 类型判断 isString(o){//是否字符串 returnObject.prototype.toString.call(o).slice(8,-1)==='String' } isNumber(o){//是否数字 returnObject.prototype.toString.call(o).slice(8,-1)==='Number' } isBoolean(o){//是否boolean retu

9. Other 其它操作

  1. /*获取网址参数*/ 
  2. getURL(name){ 
  3.     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
  4.     var r = decodeURI(window.location.search).substr(1).match(reg); 
  5.     if(r!=null) return  r[2]; return null; 
  6.  
  7. /*获取全部url参数,并转换成json对象*/ 
  8. getUrlAllParams (url) { 
  9.     var url = url ? url : window.location.href; 
  10.     var _pa = url.substring(url.indexOf('?') + 1), 
  11.         _arrS = _pa.split('&'), 
  12.         _rs = {}; 
  13.     for (var i = 0, _len = _arrS.length; i < _len; i++) { 
  14.         var pos = _arrS[i].indexOf('='); 
  15.         if (pos == -1) { 
  16.             continue; 
  17.         } 
  18.         var name = _arrS[i].substring(0, pos), 
  19.             value = window.decodeURIComponent(_arrS[i].substring(pos + 1)); 
  20.         _rs[name] = value; 
  21.     } 
  22.     return _rs; 
  23.  
  24. /*删除url指定参数,返回url*/ 
  25. delParamsUrl(url, name){ 
  26.     var baseUrl = url.split('?')[0] + '?'; 
  27.     var query = url.split('?')[1]; 
  28.     if (query.indexOf(name)>-1) { 
  29.         var obj = {} 
  30.         var arr = query.split("&"); 
  31.         for (var i = 0; i < arr.length; i++) { 
  32.             arr[i] = arr[i].split("="); 
  33.             obj[arr[i][0]] = arr[i][1]; 
  34.         }; 
  35.         delete obj[name]; 
  36.         var url = baseUrl + JSON.stringify(obj).replace(/["{}]/g,"").replace(/:/g,"=").replace(/,/g,"&"); 
  37.         return url 
  38.     }else{ 
  39.         return url; 
  40.     } 
  41.  
  42. /*获取十六进制随机颜色*/ 
  43. getRandomColor () { 
  44.     return '#' + (function(h) { 
  45.         return new Array(7 - h.length).join("0") + h; 
  46.     })((Math.random() * 0x1000000 << 0).toString(16)); 
  47.  
  48. /*图片加载*/ 
  49. imgLoadAll(arr,callback){ 
  50.     var arrImg = [];  
  51.     for (var i = 0; i < arr.length; i++) { 
  52.         var img = new Image(); 
  53.         img.src = arr[i]; 
  54.         img.onload = function(){ 
  55.             arrImg.push(this); 
  56.             if (arrImg.length == arr.length) { 
  57.                 callback && callback(); 
  58.             } 
  59.         } 
  60.     } 
  61.  
  62. /*音频加载*/ 
  63. loadAudio(src, callback) { 
  64.     var audio = new Audio(src); 
  65.     audio.onloadedmetadata = callback; 
  66.     audio.src = src; 
  67.  
  68. /*DOM转字符串*/ 
  69. domToStirng(htmlDOM){ 
  70.     var div= document.createElement("div"); 
  71.     div.appendChild(htmlDOM); 
  72.     return div.innerHTML 
  73.  
  74. /*字符串转DOM*/ 
  75. stringToDom(htmlString){ 
  76.     var div= document.createElement("div"); 
  77.     div.innerHTML=htmlString; 
  78.     return div.children[0]; 
  79.  
  80. /** 
  81.  * 光标所在位置插入字符,并设置光标位置 
  82.  *  
  83.  * @param {dom} 输入框 
  84.  * @param {val} 插入的值 
  85.  * @param {posLen} 光标位置处在 插入的值的哪个位置 
  86.  */ 
  87. setCursorPosition (dom,val,posLen) { 
  88.     var cursorPosition = 0; 
  89.     if(dom.selectionStart){ 
  90.         cursorPosition = dom.selectionStart; 
  91.     } 
  92.     this.insertAtCursor(dom,val); 
  93.     dom.focus(); 
  94.     console.log(posLen) 
  95.     dom.setSelectionRange(dom.value.length,cursorPosition + (posLen || val.length)); 
  96.  
  97. /*光标所在位置插入字符*/ 
  98. insertAtCursor(dom, val) { 
  99.     if (document.selection){ 
  100.         dom.focus(); 
  101.         sel = document.selection.createRange(); 
  102.         sel.text = val; 
  103.         sel.select(); 
  104.     }else if (dom.selectionStart || dom.selectionStart == '0'){ 
  105.         let startPos = dom.selectionStart; 
  106.         let endPos = dom.selectionEnd; 
  107.         let restoreTop = dom.scrollTop; 
  108.         dom.value = dom.value.substring(0, startPos) + val + dom.value.substring(endPos, dom.value.length); 
  109.         if (restoreTop > 0){ 
  110.             dom.scrollTop = restoreTop; 
  111.         } 
  112.         dom.focus(); 
  113.         dom.selectionStart = startPos + val.length; 
  114.         dom.selectionEnd = startPos + val.length; 
  115.     } else { 
  116.         dom.value += val; 
  117.         dom.focus(); 
  118.     } 
  119. }  

CSS

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读