Jqk

在逐梦的路上,总会有人的梦想枯萎,只有提升自我才可以涅槃重生

0%

自定义js方法组件

常用的公共方法

//删除数组中指定元素

1
2
3
4
5
6
7
function removeByValue(arr,val){    
for(var i=0;i<arr.length;i++){
if(arr[i] == val){
arr.splice(i,1);
}
}
}

时分秒倒计时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var maxtime = 5* 60; //一个小时,按秒计算,自己调整!   
function CountDown() {
if (maxtime >= 0) {
minutes = Math.floor(maxtime / 60);
seconds = Math.floor(maxtime % 60);
msg = "距离结束还有" + minutes + "分" + seconds + "秒";
document.all["timer"].innerHTML = msg;
if (maxtime == 5 * 60)alert("还剩5分钟");
--maxtime;
} else{
clearInterval(timer);
clearTimeOut(timer);
alert("时间到,结束!");
setTimeout(function(){
CountDown();
},1000)
}

}
timer = setInterval("CountDown()", 1000);
//60秒倒计时
var time = 60;// 倒计时
function getRandomCode() {
if (time === 0) {
time = 60;
return;
} else {
time--;
$('#second').text(time);
setTimeout(function() {
getRandomCode();
}, 1000);
}

}
getRandomCode();

判断移动端是android 还是ios

1
2
3
4
5
6
7
8
9
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
var isiOS = !! u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
if (isAndroid) {
alert("android")
}
if (isiOS) {
alert("ios")
}

//千位分隔符’,’

1
2
3
4
5
6
7
8
9
10
11
12
13
function thousandBitSeparator(num) {
var decimal = num.split('.')[1] || '';//小数部分
var tempArr = [];
var revNumArr = num.split('.')[0].split("").reverse();//倒序
for (i in revNumArr) {
tempArr.push(revNumArr[i]);
if ((i + 1) % 3 === 0 && i != revNumArr.length - 1) {
tempArr.push(',');
}
}
var zs = tempArr.reverse().join('');//整数部分
return decimal ? zs + '.' + decimal : zs;
}

//根据屏幕宽度设置元素的font-size值,用于rem单位

1
2
3
4
5
6
7
8
9
var setHtmlFontSize = function() {
var clientWidth = document.body.clientWidth;
if (clientWidth >= 640) {
$('html').css('font-size', '100px');
} else {
var fontSize = 100 * (clientWidth / 640) + 'px';
$('html').css('font-size', fontSize);
}
};

//判断jquery对象是否有某个className

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var isExistElementClassName = function(e, className) {
if (e) {
var cls = e.attr("class");
if (cls) {
var spanClasses = cls.split(" ");
for (var i = 0; i < spanClasses.length; i++) {
spanClasses[i] = $.trim(spanClasses[i]);

}
return ($.inArray(className, spanClasses) > 0);
}

}
return false

数字转整数 如 100000 转为10万

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 数字转整数 如 100000 转为10万
* @param {需要转化的数} num
*
*/
function tranNumber(num) {
let numStr = num.toString()
var re = new RegExp(/^(-|\+)?\d+$/); //是否是整型
var isBool = re.test(numStr);
if (isBool) {
if (numStr.length < 5) {
return numStr + '.00'
}
// 大于4位数是万 (以1W分割 1W以下全部显示)
if (numStr.length > 4) {
return parseFloat(num / 10000) + '万';
}
// 大于8位数是亿
else if (numStr.length > 8) {
return parseFloat(num / 100000000) + '亿';
}
} else {
return parseFloat(num);
}


}

//JS无法进行精确计算的bug //解决方案的原理是,将浮点数乘以(扩大)10的n次方倍,把浮点数变为整数后再进行相应的运算,最后将得到的结果除以(缩小)10的n次方倍。

1
2
3
4
5
6
7
function floatAdd(arg1,arg2){
var r1,r2,m;
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2));
return (arg1*m+arg2*m)/m;
}

*js手机号中间四位变成
可以利用substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。**

1
2
3
4
5
6
var str='1366668888';   
var str2 = str.substr(0,3)+"****"+str.substr(7);
alert(str2)
语法介绍:
返回值
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。stringObject.substr(start,length)

解决–H5开发android软键盘将底部布局顶上去

1
2
3
4
5
6
7
8
var oHeight = document.documentElement.clientHeight;
$(window).resize(function(){ //ios软键盘弹出不会触发resize事件
if(document.documentElement.clientHeight < oHeight){
$("#footer").css("position","static");
}else{
$("#footer").css("position","absolute"); //adsolute或fixed,看你布局
}
});
-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!