function typing(){ var dom= $('.uuu'); var str='模仿打字模仿打字模仿打字模仿打字' if (i <= str.length) { dom.html( str.slice(0, i++) + '_'); setTimeout('typing()', 100); } else{ dom.html(str); } } typing();
function formatTime(...args) { const stamp = args[0] const time = new Date(stamp);// 13 | * 1000 const y = time.getFullYear(), m = add0(time.getMonth() + 1), d = add0(time.getDate()), hh = add0(time.getHours()), mm = add0(time.getMinutes()), ss = add0(time.getSeconds()); return !args[1] ? y + '-' + m + '-' + d + ' ' + hh + ':' + mm + ':' + ss : y + '-' + m + '-' + d; } function add0(m) { return m < 10 ? '0' + m : m }
标记相同的数据 并自增 {a:a,b:'2',c:'3',d:'4'}, 需求:b d 同 + 自增 let num=1; let len=arr.length; $.each(arr,function(i,el) { if(!el.mark){ $.each(arr,function(ii,ell){ if(!ell.mark){ if(ell.d==el.d&&ell.b==el.b){ arr[ii].mark=num; } } }) num++; } }) string --> Json testJson = eval("(" + testJson + ")"); Json --> string JSON.stringify(arr)
结束时间不能小于开始时间 const st = $('#startTime').val(); const et = $('#endTime').val(); if (!st || !et) { $('#startTime').focus(); return false; } if ( new Date(et.replace('-', '/').replace('-', '/'))<new Date(st.replace('-', '/').replace('-', '/'))){ alert('结束时间必须晚于开始时间') return false; }
参考:https://www.cnblogs.com/ShaYeBlog/p/4129301.html
联想输入
autoComplete(val) { var that = this; var key = '^' + val + '.*'; 开头第一个字匹配 var oldArr = that.deliverymanArr; var newArr = []; //$.each(oldArr, function(i, el) { // el.name.match(key) ? newArr.push(el) : false; //});
for (let i = 0,len = oldArr.length; i < len; i++) {
oldArr[i].match(key) ? newArr.push(oldArr[i]) : false;
}
that.showDeliverymanArr = newArr.length > 0 ? newArr : oldArr;
}
form 表单 input选中
$("input[type='radio']").eq(1).attr('checked',true);
$("input[type='radio']").eq(1).attr('checked','checked');
input选中判断
$("input[type='radio']").eq(1).attr('checked')=='checked'; 使用object.attr('checked')==true是错的
$("input[type='radio']").eq(1).is(':checked');
$("input[type='radio']:checked");
日期格式转化 Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; }
new Date().format("yyyy-MM-dd hh:mm:ss"); "2018-03-20 11:11:24"
new Date().format("yyyy-MM-dd") "2018-03-20"
文档:
https://www.cnblogs.com/tugenhua0707/p/3776808.html
http://blog.csdn.net/pro_monkeyking/article/details/62416592
js获取当前日期时间“yyyy-MM-dd HH:MM:SS”
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}
返回顶部
//动态加载返回顶部
$(function () {
var minHeight=document.documentElement.clientHeight*1.5 || document.body.clientHeight*1.5;
minHeight = minHeight || 1000;
console.log(minHeight)
$(window).scroll(function(){
var s = $(window).scrollTop();
//console.log(s)
if( s > minHeight){
$("span.cTotop").fadeIn(500);
}else{
$("span.cTotop").fadeOut(800);
};
});
})
$('html,body').animate({scrollTop:0},700);
//document.getElementById("toTop").scrollIntoView(true);
冒泡写方法fn-防止append dom 没有方法fn
ul li li e.target li冒泡 ul click
数组处理
http://www.cnblogs.com/weiaiy/p/4073828.html
数组插入键值对
var arr = [ ];
arr[ keyName ] = value;
- - - $.parseJSON( )
数组踢除第一个
arr.splice(0,1)
查看a是否在数组里面
hasRoot=$.inArray(limitUrl,arrLimit)<0?false:true; -1没有
require请求图片
var aaaa = require("../../img/welcomeApp/startPage640960.png"); 直接请求 不拼接
截取 substr ----str = EKey10
str.substr(4) 4-end ===== 10
str.substr(4,1) 4-开始-截取1个 ==== 1
电话号码隐藏中间四位
return phoneNum.substr(0,3)+"****"+phoneNum.substr(7);
“true”==true false
解决:eval(localStorage.getItem('first'));
eval方法动态将参数运算成一个字符串,然后自动判断了字符串的类型,true被认为是boolean类型的变量.javascript的弱类型机制.通过eval运算可以动态获取运算后参数的类型.
解释:https://www.zhihu.com/question/61106507/answer/184310938
localStorage
localStorage.setItem("tokie","XXXXXXXXXX")
localStorage.getItem('tokie');
checkbox选中
.is(':checked')
循环中断
jQuery中each类似于javascript的for循环
但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,
想要实现类似的功能就只能用return,
break 用return false
continue 用return ture
参考:https://www.cnblogs.com/changchengGZ/p/5440704.html