侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 119152 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

js 類庫代碼收集分析

2023-12-01 星期五 / 0 评论 / 0 点赞 / 6 阅读 / 19980 字

移除字符串多餘空格 /***去除多余空格函数*trim:去除两边空格lTrim:去除左空格rTrim:去除右空格*用法:*varstr="hello";*str=str.trim();*/if(!!!

移除字符串多餘空格

/*** 去除多余空格函数* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格* 用法:*     var str = "   hello ";*     str = str.trim();*/if(!!!String.prototype.trim){String.prototype.trim = function(){	return this.replace(/(^[//s]*)|([//s]*$)/g, "");}String.prototype.lTrim = function(){	return this.replace(/(^[//s]*)/g, "");}String.prototype.rTrim = function(){	return this.replace(/([//s]*$)/g, "");}}

 

數字格式

/***是否是浮點類型**/function isFloat(val){	var regex = /^[+|-]?/d*/.?/d*$/; 	if (!regex.test(val.toString())){ 	 return false;     	}    	return true;}/****精確到小數點後幾位數****/function floatToFixed(val,n){	var val=val;	if(!isFloat(val)){		val=parseFloat(val);	}	try{		return val.toFixed(n);	} catch(err){		var n=Math.pow(10,n);		return Math.floor(val*n)/n;		}}/* * formatMoney(s,type) * 功能:金额按千位逗号分割 * 参数:s,需要格式化的金额数值. * 参数:type,判断格式化后的金额是否需要小数位. * 返回:返回格式化后的数值字符串. */function formatMoney(s, type) {    if (/[^0-9/.]/.test(s)) return "0";    if (s == null || s == "") return "0";    s = s.toString().replace(/^(/d*)$/, "$1.");    s = (s + "00").replace(/(/d*/./d/d)/d*/, "$1");    s = s.replace(".", ",");    var re = /(/d)(/d{3},)/;    while (re.test(s))        s = s.replace(re, "$1,$2");    s = s.replace(/,(/d/d)$/, ".$1");    if (type == 0) {// 不带小数位(默认是有小数位)        var a = s.split(".");        if (a[1] == "00") {            s = a[0];        }    }    return s;}/*月份補充零//return string*/function monthWithTwoNum(n){	var n=parseInt(n,10);	if(n>=0 && n<=9){		return '0'+n.toString();	}	return n.toString();}

 

瀏覽器、元素高寬

function getBrowserW(){	return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;//可见区域宽度}function getBrowserH(){	//alert(document.documentElement.clientHeight);	return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;//可见区域高度		}function getEleW(ele){	if(typeof ele == 'string'){		return 	document.getElementById(ele).offsetWidth;	} else {		return ele.offsetWidth;		}}function getEleH(ele){	if(typeof ele == 'string'){		return 	document.getElementById(ele).offsetHeight;	} else {		return ele.offsetHeight;		}}

 

動態添加css&js(簡單)

/******普通動態 添加css******/var gAryLinkStyle=[];function includeLinkStyle(url) {	if(gAryLinkStyle.toString().indexOf(url)!=-1){		return;	}	var link = document.createElement("link");	link.rel = "stylesheet";	link.type = "text/css";	link.href = url;	document.getElementsByTagName("head")[0].appendChild(link);	gAryLinkStyle.push(url);}/******普通動態 添加js******/var gAryScriptFile=[];function includeScriptFile(url,callback){	if(gAryScriptFile.toString().indexOf(url)!=-1){		!!callback&&callback();		return false;	}	var script= document.createElement("script");	script.setAttribute('type', 'text/javascript');	if(!!callback){		script.onload = script.onreadystatechange = function(){			if (script.ready) {				return false;			}			if (!script.readyState || script.readyState == "loaded" || script.readyState == 'complete') {				script.ready = true;				callback();			}		};	}	script.src=url;	document.getElementsByTagName("head")[0].appendChild(script);	gAryScriptFile.push(url);}

 

瀏覽器UA信息

/****browser version****eg: if(Browser.ie && parseFloat(Browser.ie,10)<8.0) alert('is ie and version < 8.0');**********/var Browser = {};Browser.ua = navigator.userAgent.toLowerCase();Browser.s='';(Browser.s = Browser.ua.match(/chrome//([/d.]+)/)) ? Browser.chrome = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/msie ([/d.]+)/)) ? Browser.ie = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/rv:([/d.]+)/)) ? Browser.ie = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/firefox//([/d.]+)/)) ? Browser.firefox = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/opera.([/d.]+)/)) ? Browser.opera = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/version//([/d.]+).*safari/)) ? Browser.safari = parseFloat(Browser.s[1],10) : 0;

 

獲取滾動條位置

// 说明:用 Javascript 获取滚动条位置等信息  function getScrollPro() {    var t, l, w, h;         if (document.documentElement && document.documentElement.scrollTop) {        t = document.documentElement.scrollTop;        l = document.documentElement.scrollLeft;        w = document.documentElement.scrollWidth;        h = document.documentElement.scrollHeight;    } else if (document.body) {        t = document.body.scrollTop;        l = document.body.scrollLeft;        w = document.body.scrollWidth;        h = document.body.scrollHeight;    }    return { t: t, l: l, w: w, h: h };}function setScrollTop(v){	if (document.documentElement && document.documentElement.scrollTop) {       document.documentElement.scrollTop=v;    } else if (document.body) {       document.body.scrollTop=v;    }    return;}

 

觸發事件

/****trigger given event on elementdemo: triggerEvent(document.getElementById('google'),'resize');note: element not support window object***/function triggerEvent(ele,eventType){	if( document.createEvent) { 		try{			var event = document.createEvent ("HTMLEvents"); 			event.initEvent(eventType, true, true); 			ele.dispatchEvent(event); 		} catch(err){}	} else if(document.createEventObject){ 		ele.fireEvent("on"+eventType); 	} }function log(s){	console.log(s);}/***new win***/function NewWin(url){	var a = document.createElement('a');	a.setAttribute("href", url);	a.setAttribute("target", "_blank");	triggerEvent(a,'click');	a=null;}

 

拿css3 前綴

// JavaScript Document;(function(w){	w.cssPrefix=(function cssPrefix(){		var vendors = { Webkit: 'webkit', Moz: 'Moz', O: 'o', MS: 'ms', None: '' }, prefix = '', testEl = document.createElement('div');		for(key in vendors){			if (testEl.style[vendors[key] + 'TransitionProperty'] !== undefined) {			  prefix = '-' + vendors[key].toLowerCase() + '-';			  break;			}			}		return prefix;	}());}(window));//console.log(window.cssPrefix);//-webkit-

 

 Demo: xx這裡

 

檢查是否支持css3 屬性

var supportcss3 = (function() {   var div = document.createElement('div'),      vendors = 'Khtml Ms O Moz Webkit'.split(' '),      len = vendors.length;    return function(prop) {      if ( prop in div.style ) return true;       prop = prop.replace(/^[a-z]/, function(val) {         return val.toUpperCase();      });       while(len--) {         if ( vendors[len] + prop in div.style ) {            return true;         }       }      return false;   };})(); if ( supportcss3('textShadow') ) {   document.documentElement.className += ' textShadow';}

 

 

extend

// JavaScript Documentfunction extend(destination, source) {    for (var property in source)      destination[property] = source[property];    return destination;}

 

獲得兄弟節點

function getPreviousSibling(ele){  var preNode,ele=ele;	while(true){		preNode=ele.previousSibling;		if(!!!preNode){			preNode=null;			break;		}		if(preNode.nodeType==1){			//alert(preNode.id);			break;		} else {			ele=preNode;		}	};	return preNode;}console.log(getPreviousSibling(document.getElementById('id2')));function getNextSibling(ele){  var preNode,ele=ele;	while(true){		preNode=ele.nextSibling;		if(!!!preNode){			preNode=null;			break;		}		if(preNode.nodeType==1){			//alert(preNode.id);			break;		} else {			ele=preNode;		}	};	return preNode;}console.log(getNextSibling(document.getElementById('id1')));function getSibling(elem) {	var r = [];	var n = elem.parentNode.firstChild;	for ( ; n; n = n.nextSibling ) {	    if ( n.nodeType === 1 && n !== elem ) {	        r.push( n );	    }	}	return r;}

 

    demo: xx這裡

 

關閉瀏覽器前的提示

var isCloseWin=true;window.onbeforeunload = function (e) {  //if(isCloseWin) return e.returnValue = "Note: You didn't save the data. Determined to leave?";//ie7 not ok if(isCloseWin) return "Note: You didn't save the data. Determined to leave?";//ie7 ok}

 

解決indexof兼容問題

//解决ie不兼容indexOf  if(!Array.indexOf){   Array.prototype.indexOf = function(obj){    for(var i=0; i<this.length; i++){     if(this[i]==obj){      return i;     }    }    return -1;   }   }

 

匹配英文名

str = str.replace(/(^/s*)|(/s*$)/g,"");//去掉首尾空格//字符头尾是字母,中间由空格和字母组成,中间可以有多个空格if(/^[A-Za-z][A-Za-z/s]*[A-Za-z]$/.test(str)){    str = str.replace(//s+/g," ");//将中间无论多少空格替换成一个}

 

 处理多选与单选

//jsfunction selectCheckBoxAll(name) {  var el = document.getElementsByTagName('input');  var len = el.length;  for(var i=0; i<len; i++) {   if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {    el[i].checked = true;   }  } } function clearCheckBoxAll(name) {  var el = document.getElementsByTagName('input');  var len = el.length;  for(var i=0; i<len; i++) {   if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {    el[i].checked = false;   }  } } //return arrayfunction getSelectCheckBoxValue(name) {  var el = document.getElementsByTagName('input');  var len = el.length;  var arySelect=[]; for(var i=0; i<len; i++) {   if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {    if(el[i].checked == true){    arySelect.push(el[i].value);   }  }  } return arySelect; } function isSelectCheckBox(name) {  var el = document.getElementsByTagName('input');  var len = el.length;  for(var i=0; i<len; i++) {   if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {    if(el[i].checked == true) return true;   }  } return false; }   //have selected return value,or not return falsefunction getSelectRadioValue(name) {  var el = document.getElementsByTagName('input');  var len = el.length;  for(var i=0; i<len; i++) {   if((el[i].type.toLowerCase()=="radio") && (el[i].name==name)) {    if(el[i].checked == true) return el[i].value;   }  } return false;} selectCheckBoxAll('cb[]');alert(isSelectCheckBox('cb[]'));console.log(getSelectCheckBoxValue('cb[]'));

 

<!--html--><!DOCTYPE html><html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <title>RunJS</title> </head> <body>  <button onclick="javascript:clearCheckBoxAll('cb[]');">clearCheckBoxAll</button>  <button onclick="javascript:alert(getSelectRadioValue('rb'));">getSelectRadioValue</button>    <input type="checkbox" name="cb[]" value="0" />0<input type="checkbox" name="cb[]" value="1" />1  <br/>  <input type="radio" name="rb" value="33" />33    <input type="radio" name="rb" value="44" />44  <input type="radio" name="rb" value="55" />55<script></script> </body></html>

 

 DEMO xx这里

 

批量替换超链接的#号,防止页面跳动

出现返回顶部按钮

增加到收藏夹

//基於jquery//批量替换超链接的#号,防止页面跳动function a_void(){ $("a").each(function(index, element) {        if ($(this).attr("href")=="#"){   $(this).attr('href','javascript:void(0);');  }    }); }//滚动到一定距离,出现返回顶部按钮,参数是按钮元素function sroll_top(selector){ $(window).bind("scroll",function(){  if( $(document).scrollTop() < $(window).height() *1.5 ) {  jQuery(selector).hide();  }else if($(document).scrollTop() > $(window).height() *1.5){   jQuery(selector).show();  } });}/**增加到收藏夹,参数sURL地址,sTitle名称***/function AddFavorite(sURL, sTitle){    try    {        window.external.addFavorite(sURL, sTitle);    }    catch (e)    {        try        {            window.sidebar.addPanel(sTitle, sURL, "");        }        catch (e)        {            alert("加入收藏失败,请使用Ctrl+D进行添加");        }    }}

 

 

 

 

 

 

 

广告 广告

评论区