JS常用自定义函数总结
JS常用自定义函数总结
2、原生JavaScript获取域名主机
3、原生JavaScript清除空格
4、原生JavaScript替换全部
5、原生JavaScript转义html标签
6、原生JavaScript还原html标签
7、原生JavaScript时间日期格式转换
8、原生JavaScript判断是否为数字类型
9、原生JavaScript设置cookie值
10、原生JavaScript获取cookie值
11、原生JavaScript加入收藏夹
12、原生JavaScript设为首页
13、原生JavaScript判断IE6
14、原生JavaScript加载样式文件
15、原生JavaScript返回脚本内容
16、原生JavaScript清除脚本内容
17、原生JavaScript动态加载脚本文件
18、原生JavaScript返回按ID检索的元素对象
19、原生JavaScript返回浏览器版本内容
20、原生JavaScript元素显示的通用方法
21、原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现
22、原生JavaScript中兼容浏览器绑定元素事件
23、原生JavaScript光标停在文字的后面,文本框获得焦点时调用
24、原生JavaScript检验URL链接是否有效
25、原生JavaScript格式化CSS样式代码
26、原生JavaScript压缩CSS样式代码
27、原生JavaScript获取当前路径
28、原生JavaScriptIP转成整型
29、原生JavaScript整型解析为IP地址
30、原生JavaScript实现checkbox全选与全不选
31、原生JavaScript判断是否移动设备
32、原生JavaScript判断是否移动设备访问
33、原生JavaScript判断是否苹果移动设备访问
34、原生JavaScript判断是否安卓移动设备访问
35、原生JavaScript判断是否Touch屏幕
36、原生JavaScript判断是否在安卓上的谷歌浏览器
37、原生JavaScript判断是否打开视窗
38、原生JavaScript获取移动设备初始化大小
39、原生JavaScript获取移动设备最大化大小
40、原生JavaScript获取移动设备屏幕宽度
41、原生JavaScript完美判断是否为网址
42、原生JavaScript根据样式名称检索元素对象
43、原生JavaScript判断是否以某个字符串开头
44、原生JavaScript判断是否以某个字符串结束
45、原生JavaScript返回IE浏览器的版本号
46、原生JavaScript获取页面高度
47、原生JavaScript获取页面scrollLeft
48、原生JavaScript获取页面可视宽度
49、原生JavaScript获取页面宽度
50、原生JavaScript邮箱判断
51、原生JavaScript电话号码判断
52、原生JavaScript判断身份证号
53、原生JavaScript对class进行操作:添加类名、判断类名是否存在等
/**
* 字符串长度截取 params: str:字符串 length:长度
*/
function cutstr(str, length) {
var temp;
var icount = 0;
var patrn = /[^\x00-\xff]/;
var strre = "";
for ( var i = 0; i < str.length; i++) {
if (icount < len - 1) {
temp = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount + 1;
} else {
icount = icount + 2;
}
strre += temp;
} else {
break;
}
}
return strre + "...";
} /**
* 获取域名主机 params: url:域名
*/
function getHost(url) {
var host = "null";
if (typeof url == "undefined" || null == url) {
url = window.location.href;
}
var regex = /^\w+\:\/\/([^\/]*).*/;
var match = url.match(regex);
if (typeof match != "undefined" && null != match) {
host = match[1];
}
return host;
} /**
* 清除空格 为String 对象添加方法 trim() 以此兼容不支持此方法的浏览器
*/
if (!String.prototype.trim) {
String.prototype.trim = function() {
var reExtraSpace = /^\s*(.*?)\s+$/;
return this.replace(reExtraSpace, "$1");
};
} /**
* 替换全部,多种方式的替换规则 为String 对象添加方法 replaceAll 兼容浏览器
*
* 第三参数 修饰符 描述 i 执行对大小写不敏感的匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。
*/
if (!String.prototype.replaceAll) {
String.prototype.replaceAll = function(s1, s2, type) {
return this.replace(new RegExp(s1, type), s2);
};
} /**
* 转义html标签
*/
function htmlEncode(text) {
return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g,
'<').replace(/>/g, '>');
} /**
* 还原html标签
*/
function htmlDecode(text) {
return text.replace(/&/g, '&').replace(/"/g, '\"').replace(
/</g, '<').replace(/>/g, '>');
} /**
* 时间日期格式转换 (按需更改,是否调用原方法, 还是重写)
*/
if (!Date.prototye.format && !Date.prototype.Format) {
Date.prototype.Format = function(formatStr) {
var str = formatStr;
var Week = [ '日', '一', '二', '三', '四', '五', '六' ];
str = str.replace(/yyyy|YYYY/, this.getFullYear());
str = str.replace(/yy|YY/,
(this.getYear() % 100) > 9 ? (this.getYear() % 100).toString()
: '0' + (this.getYear() % 100));
str = str.replace(/MM/,
(this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString()
: '0' + (this.getMonth() + 1));
str = str.replace(/M/g, (this.getMonth() + 1));
str = str.replace(/w|W/g, Week[this.getDay()]);
str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate()
.toString() : '0' + this.getDate());
str = str.replace(/d|D/g, this.getDate());
str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours()
.toString() : '0' + this.getHours());
str = str.replace(/h|H/g, this.getHours());
str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes()
.toString() : '0' + this.getMinutes());
str = str.replace(/m/g, this.getMinutes());
str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds()
.toString() : '0' + this.getSeconds());
str = str.replace(/s|S/g, this.getSeconds());
return str;
};
} /**
* 判断是否为数字类型
*/
function isDigit(value) {
var patrn = /^[0-9]*$/;
if (patrn.exec(value) == null || value == "") {
return false;
} else {
return true;
}
} /**
* 设置cookie值 escape(str) 对值进行编码 unescape(str)进行解码 (ECMAScript v3 反对使用该方法,应用使用
* decodeURI() 和 decodeURIComponent() 替代它。)
*
* param:
*
* name:名称
*
* value:名称对应值
*
* path:为了控制cookie可以访问的目录 例: path=/shop";就表示当前cookie仅能在shop目录下使用(url地址)。
*
* expires:过期时间 F * domain : 指定可访问cookie的主机名 域名
*/
function setCookie(name, value, Hours) {
var d = new Date();
var offset = 8;
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = utc + (3600000 * offset);
var exp = new Date(nd);
exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";path=/;expires="
+ exp.toGMTString() + ";domain=sicd.com;";
} /**
* 获取cookie值 unescape()不推荐使用 用 decodeURI()
*
*/
function getCookie(name) {
var arr = document.cookie
.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null)
return unescape(arr[2]);
return null;
} /**
* 加入收藏夹
*/
function AddFavorite(sURL, sTitle) {
try {
window.external.addFavorite(sURL, sTitle);
} catch (e) {
try {
window.sidebar.addPanel(sTitle, sURL, "");
} catch (e) {
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
}
} /**
* 设为首页
*/ function setHomepage() {
if (document.all) {
document.body.style.behavior = 'url(#default#homepage)';
document.body.setHomePage('http://***');
} else if (window.sidebar) {
if (window.netscape) {
try {
netscape.security.PrivilegeManager
.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage', 'http://***');
}
} /**
* 判断IE6 设置背景图片缓存解决闪烁问题 (ie6默认背景图片不缓存)
*
* document.execCommand() 用法 想了解的童鞋请访问:
* http://www.cnblogs.com/sicd/p/4134641.html 记得点个赞哟 ^_^
*/
var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6") > -1;
if (isIE6) {
try {
document.execCommand("BackgroundImageCache", false, true);
} catch (e) {
}
} /**
* 动态加载 CSS 样式文件
*/
function LoadStyle(url) {
try {
document.createStyleSheet(url);
} catch (e) {
var cssLink = document.createElement('link');
cssLink.rel = 'stylesheet';
cssLink.type = 'text/css';
cssLink.href = url;
var head = document.getElementsByTagName('head')[0];
head.appendChild(cssLink);
}
} /**
* 返回脚本内容
*/
function evalscript(s) {
if (s.indexOf('<script') == -1)
return s;
var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
var arr = [];
while (arr = p.exec(s)) {
var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
var arr1 = [];
arr1 = p1.exec(arr[0]);
if (arr1) {
appendscript(arr1[1], '', arr1[2], arr1[3]);
} else {
p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
arr1 = p1.exec(arr[0]);
appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
}
}
return s;
} /**
* 清除脚本内容
*/
function stripscript(s) {
return s.replace(/<script.*?>.*?<\/script>/ig, '');
} /**
* 动态加载脚本文件
*/
function appendscript(src, text, reload, charset) {
var id = hash(src + text);
if (!reload && in_array(id, evalscripts))
return;
if (reload && $(id)) {
$(id).parentNode.removeChild($(id));
} evalscripts.push(id);
var scriptNode = document.createElement("script");
scriptNode.type = "text/javascript";
scriptNode.id = id;
scriptNode.charset = charset ? charset
: (BROWSER.firefox ? document.characterSet : document.charset);
try {
if (src) {
scriptNode.src = src;
scriptNode.onloadDone = false;
scriptNode.onload = function() {
scriptNode.onloadDone = true;
JSLOADED[src] = 1;
};
scriptNode.onreadystatechange = function() {
if ((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete')
&& !scriptNode.onloadDone) {
scriptNode.onloadDone = true;
JSLOADED[src] = 1;
}
};
} else if (text) {
scriptNode.text = text;
}
document.getElementsByTagName('head')[0].appendChild(scriptNode);
} catch (e) {
}
} /**
* 返回按ID检索的元素对象
*/
try {
if (typeof (eval('$')) == "function") {
} else {
function $(id) {
return !id ? null : document.getElementById(id);
}
}
} catch (e) {
function $(id) {
return !id ? null : document.getElementById(id);
}
} /**
* 返回浏览器版本
*
* 返回一个对象,对象属性:type,version
*/ function getExplorerInfo() {
var explorer = window.navigator.userAgent.toLowerCase();
// ie
if (explorer.indexOf("msie") >= 0) {
var ver = explorer.match(/msie ([\d.]+)/)[1];
return {
type : "IE",
version : ver
};
}
// firefox
else if (explorer.indexOf("firefox") >= 0) {
var ver = explorer.match(/firefox\/([\d.]+)/)[1];
return {
type : "Firefox",
version : ver
};
}
// Chrome
else if (explorer.indexOf("chrome") >= 0) {
var ver = explorer.match(/chrome\/([\d.]+)/)[1];
return {
type : "Chrome",
version : ver
};
}
// Opera
else if (explorer.indexOf("opera") >= 0) {
var ver = explorer.match(/opera.([\d.]+)/)[1];
return {
type : "Opera",
version : ver
};
}
// Safari
else if (explorer.indexOf("Safari") >= 0) {
var ver = explorer.match(/version\/([\d.]+)/)[1];
return {
type : "Safari",
version : ver
};
}
} /**
* 显示元素 待验证 visibility hideen 会隐藏元素,但是会占用作用域
*/
// function $(id) {
// return !id ? null : document.getElementById(id);
// }
function display(id) {
var obj = $(id);
if (obj.style.visibility) {
obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden'
: 'visible';
} else {
obj.style.display = obj.style.display == '' ? 'none' : '';
}
} /**
* 与insertBefore方法(已存在)对应的insertAfter方法
*
*
*/
function insertAfter(newChild, refChild) {
var parElem = refChild.parentNode;
if (parElem.lastChild == refChild) {
refChild.appendChild(newChild);
} else {
parElem.insertBefore(newChild, refChild.nextSibling);
}
} /**
* 兼容浏览器绑定元素事件
*
* obj:元素
*
* evt:时间名称
*
* fn:触发函数
*
*/ function addEventSamp(obj, evt, fn) {
if (obj.addEventListener) {
obj.addEventListener(evt, fn, false);
} else if (obj.attachEvent) {
obj.attachEvent('on' + evt, fn);
}
} /**
* 光标停在文字的后面,文本框获得焦点时调用
*/
function focusLast() {
var e = event.srcElement;
var r = e.createTextRange();
r.moveStart('character', e.value.length);
r.collapse(true);
r.select();
} /**
* 检验URL链接是否有效
*
* .Open("GET",URL, false) true:异步;false:同步
*/
function getUrlState(URL) {
var suc = false;
var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
xmlhttp.Open("GET", URL, false);
try {
xmlhttp.Send();
} catch (e) {
} finally {
var result = xmlhttp.responseText;
if (result) {
if (xmlhttp.Status == 200) {
suc = true;
} else {
suc = false;
}
} else {
suc = false;
}
}
return suc;
} /**
* 格式化CSS样式代码
*/
function formatCss(s) {// 格式化代码
s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
s = s.replace(/;\s*;/g, ";"); // 清除连续分号
s = s.replace(/\,[\s\.\#\d]*{/g, "{");
s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");
s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");
s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");
return s;
} /**
* 压缩CSS样式代码
*/
function yasuoCss(s) {// 压缩代码
s = s.replace(/\/\*(.|\n)*?\*\//g, ""); // 删除注释
s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); // 容错处理
s = s.replace(/;\s*;/g, ";"); // 清除连续分号
s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); // 去掉首尾空白
return (s == null) ? "" : s[1];
} /**
* 获取当前路径
*/
function getCurrentPageUrl() {
var currentPageUrl = "";
if (typeof this.href === "undefined") {
currentPageUrl = document.location.toString().toLowerCase();
} else {
currentPageUrl = this.href.toString().toLowerCase();
}
return currentPageUrl;
} /**
* ip 转 整型
*/
function _ip2int(ip) {
var num = 0;
ip = ip.split(".");
num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256
+ Number(ip[2]) * 256 + Number(ip[3]);
num = num >>> 0;
return num;
} /**
* 整型解析为IP地址
*/
function _int2iP(num) {
var str;
var tt = new Array();
tt[0] = (num >>> 24) >>> 0;
tt[1] = ((num << 8) >>> 24) >>> 0;
tt[2] = (num << 16) >>> 24;
tt[3] = (num << 24) >>> 24;
str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "."
+ String(tt[3]);
return str;
} /**
* 实现checkbox全选与全不选
*/
function checkAll(selectAllBoxId, childBoxsId) {
var selectall = document.getElementById(selectAllBoxId);
var allbox = document.getElementsByName(childBoxsId);
if (selectall.checked) {
for ( var i = 0; i < allbox.length; i++) {
allbox[i].checked = true;
}
} else {
for ( var i = 0; i < allbox.length; i++) {
allbox[i].checked = false;
}
}
} /**
* 判断是否移动设备
*/
function isMobile() {
if (typeof this._isMobile === 'boolean') {
return this._isMobile;
}
var screenWidth = this.getScreenWidth();
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport
|| rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment
&& (fixViewPortsExperiment.toLowerCase() === "new");
if (!fixViewPortsExperiment) {
if (!this.isAppleMobileDevice()) {
screenWidth = screenWidth / window.devicePixelRatio;
}
}
var isMobileScreenSize = screenWidth < 600;
var isMobileUserAgent = false;
this._isMobile = isMobileScreenSize && this.isTouchScreen();
return this._isMobile;
} /**
* 判断是否移动设备访问
*/
function isMobileUserAgent() {
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i
.test(window.navigator.userAgent.toLowerCase()));
} /**
* 判断是否苹果移动设备访问
*/
function isAppleMobileDevice() {
return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent
.toLowerCase()));
} /**
* 判断是否安卓移动设备访问
*/
function isAndroidMobileDevice() {
return (/android/i.test(navigator.userAgent.toLowerCase()));
} /**
* 判断是否Touch屏幕
*/
function isTouchScreen() {
return (('ontouchstart' in window) || window.DocumentTouch
&& document instanceof DocumentTouch);
} /**
* 判断是否在安卓上的谷歌浏览器
*/
function isNewChromeOnAndroid() {
if (this.isAndroidMobileDevice()) {
var userAgent = navigator.userAgent.toLowerCase();
if ((/chrome/i.test(userAgent))) {
var parts = userAgent.split('chrome/'); var fullVersionString = parts[1].split(" ")[0];
var versionString = fullVersionString.split('.')[0];
var version = parseInt(versionString); if (version >= 27) {
return true;
}
}
}
return false;
} /**
* 判断是否打开视窗
*/
function isViewportOpen() {
return !!document.getElementById('wixMobileViewport');
} /**
* 获取移动设备初始化大小
*/
function getInitZoom(){
if(!this._initZoom){
var screenWidth = Math.min(screen.height, screen.width);
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
this._initZoom = screenWidth /document.body.offsetWidth;
}
return this._initZoom;
} /**
* 获取移动设备最大化大小
*/
function getZoom(){
var screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
var FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment === "New" || FixViewPortsExperiment === "new");
if(FixViewPortsExperimentRunning){
return screenWidth / window.innerWidth;
}else{
return screenWidth / document.body.offsetWidth;
}
}
/**
* 获取移动设备屏幕宽度
*/
function getScreenWidth(){
var smallerSide = Math.min(screen.width, screen.height);
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
if(fixViewPortsExperiment){
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
smallerSide = smallerSide/window.devicePixelRatio;
}
}
return smallerSide;
} /**
* 完美判断是否为网址
*/
function IsURL(strUrl) {
var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i;
if (regular.test(strUrl)) {
return true;
}
else {
return false;
}
} /**
* 根据样式名称检索元素对象
*/
function getElementsByClassName(name) {
var tags = document.getElementsByTagName('*') || document.all;
var els = [];
for (var i = 0; i < tags.length; i++) {
if (tags[i].className) {
var cs = tags[i].className.split(' ');
for (var j = 0; j < cs.length; j++) {
if (name == cs[j]) {
els.push(tags[i]);
break;
}
}
}
}
return els;
} /**
* 判断是否以某个字符串开头
*/
if(!String.prototype.startWith){
String.prototype.startWith = function (s) {
return this.indexOf(s) == 0;
};
} /**
* 判断是否以某个字符串结束
*/
if(!String.prototype.endWith){
String.prototype.endWith = function (s) {
var d = this.length - s.length;
return (d >= 0 && this.lastIndexOf(s) == d);
};
} /**
* 返回IE浏览器的版本号
*/
function getIE(){
if (window.ActiveXObject){
var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
return parseFloat(v.substring(0, v.indexOf(".")));
}
return false;
} /**
* 获取页面高度
*/
function getPageHeight(){
var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
? a
: g.documentElement;
return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
} /**
* 获取页面scrollLeft
*/
function getPageScrollLeft(){
var a = document;
return a.documentElement.scrollLeft || a.body.scrollLeft;
} /**
* 获取页面宽度
*/
function getPageWidth(){
var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
? a
: g.documentElement;
return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
} /**
* 获取页面scrollTop
*/
function getPageScrollTop(){
var a = document;
return a.documentElement.scrollTop || a.body.scrollTop;
} /**
* 获取页面可视高度
*/
function getPageViewHeight() {
var d = document, a = d.compatMode == "BackCompat"
? d.body
: d.documentElement;
return a.clientHeight;
} /*****************************补充 ********************************************/
//删除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
//电子邮箱判断
function testEmail(email){
var email_reg = new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$/);
if(!email_reg.test(email)){
return "no";
}
return "yes";
} //手机号码
function testMobile(mobile){
var mobile_reg = new RegExp(/^0{0,1}1[0-9]{10}$/);
if(!mobile_reg.test(mobile)){
return "no";
}
return "yes";
} //身份证
function testIDCard(str){
var IDCardReg = new RegExp(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/);
if(!IDCardReg.test(str)){
return "no";
}
return "yes";
} //定义一个函数,用来向一个元素添加指定的class属性值
/*
* 参数:
* obj 要添加class属性的元素
* cn 要添加的class值
*/
function addClass(obj,cn){
//检查
if(!hasClass(obj,cn))
obj.className+=" "+cn;
};
/*
* 判断一个元素中是否含有指定的class属性值
* 如果有该CLASS,则返回true,没有返回false
*/
function hasClass(obj,cn){
//var reg=/\bb2\b/;
var reg=new RegExp("\\b"+cn+"\\b");
//判断obj中有没有 cn class
return reg.test(obj.className);
}; function removeClass(obj,cn){
//
var reg=new RegExp("\\b"+cn+"\\b");
//删除class
obj.className=obj.className.replace(reg,"");
};
/*
* toggleClass可以用来切换一个类
* 如果元素中具有该类,则删除
* 如果元素中没有该类,则添加
*/
function toggleClass(obj,cn){ if(hasClass(obj,cn)){
removeClass(obj,cn);
}
else{
addClass(obj,cn);
}
};
JS常用自定义函数总结的更多相关文章
- js常用的函数库
阻止冒泡.默认行为.事件捕获 /* funname preventEventPropagation * desc 阻止冒泡事件&阻止默认行为&阻止事件捕获 * params {name ...
- mysql 常用自定义函数解析
-- /* -- * 用于获取一记录数据,根据传入的分隔字符delim,索引位置pos,返回相对应的value -- * SELECT Json_getKeyValue({"A": ...
- JavaScript使用技巧(1)——JS常用的函数
1.字符串对象函数和属性 函数: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat():连接字符串. indexOf( ...
- js学习-自定义函数、对象的字面量、json对象学习小结
一.自定义对象的构造: var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name=& ...
- php常用自定义函数
1,写一个函数,算出两个文件的相对路径 有两种方法,一种是利用array的相关方法,如例1,另外一种是使用?:;运算符 先看第一种方法 function getrelativepath2($path1 ...
- VBA Excel 常用 自定义函数
1. 将 互换 Excel 列号(数字/字母) Public Function excelColumn_numLetter_interchange(numOrLetter) As String Dim ...
- js常用字符串函数
// JS字符串 //1.replace字符串替换,只能换第一部分,就是说多个字符相同,只能换下最先的 var str='helloworld!'; alert(str.replace('llo',' ...
- oracle常用自定义函数集合
1.Oracle 判断值是否为数字的函数CREATE OR REPLACE FUNCTION ISNUMBER(MyStr VARCHAR2) RETURN NUMBERIS STR VARCHAR ...
- Js常用的函数
1.用于对正则表达式的函数: var pattern=/\d{3}-\d{2}-\d{4}/;//这里产生的是一个object类型 alert(pattern.test("cscscscs& ...
随机推荐
- router 配置按需加载对应的组件,配置active
const routes = [ { path: '/', component: App, children: [ {path: '/index/:type', name: 'index', comp ...
- Breadcrumb 面包屑
显示当前页面的路径,快速返回之前的任意页面. 基础用法 适用广泛的基础用法. 在el-breadcrumb中使用el-breadcrumb-item标签表示从首页开始的每一级.Element 提供了一 ...
- "UICollectionView实现带头视图和组的头视图同时存在"实现
实现效果如下: 以前做这效果的界面,总是实现的是section的头视图,因为我一直觉得collectionView是不像UITableView那样有tableHeaderView的,所以每次实现只能是 ...
- 问题 1014: [编程入门]阶乘求和python):(本地测试正确;但提交不对!!??)求教
问题 1014: [编程入门]阶乘求和 时间限制: 1Sec 内存限制: 128MB 提交: 27629 解决: 5450 题目描述 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数 ...
- 配置中心 Spring Cloud config
配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. 1.服务端 创建spring boot 项目 主要依赖 <dependenc ...
- HDWIKI6.0后台SQL写shell
- 非常好的一个JS代码(RelativePosition.js)
var RelativePosition = function(){ function getLeft( align, rect, rel ){ var iLeft = 0; switch (alig ...
- shell - python 函数式编程 -- 经典例子 + 让数据自增 + while + > /dev/null 2>&1 & crontab
1.shell #!/bin/bash anynowtime="date +'%Y-%m-%d %H:%M:%S'" NOW="echo [\`$anynowtime\` ...
- 出现错误lambda expressions are not supported at language level 7解决方法
AS工程出现题目中的错误.解决办法: 这两个选中为1.8. 然后AS会自动在app的build.gradle下面,android{}里面增加 同时会修改app.iml文件中的如下部分,将Languag ...
- Jenkins中shell-script执行报错sh: line 2: npm: command not found
<1>本地执行npm run build--正常 <2>查看环境变量--正常 [root@localhost bin]# echo $PATH /usr/local/node/ ...