JS相关笔记(一)JQ
JQ API中文文档:
ajax请求不读取缓存
$(document).ready(function () { $.ajaxSetup({ cache: false }); //ajax请求不读取缓存 })
也可以
url: 我的url+Date.parse(new Date()), //数据接口,
数组相同的判断:
let flag = true const listA = [1, 2, 3] const listB = [2, 3, 4] if (listA.length !== listB.length) { flag = false } else { listA.forEach(item => { if (listB.indexOf(item) === -1) { flag = false } }) }
数组重叠验证
/**判断 是否有重复*/ balabala.ckPart=function (arr,arr1,start,end){ var flag=true; if(arr.length!=0){ for(var i=0;i<arr.length;i++){ if(!ck(start,end,arr[i],arr1[i])){//重复 flag=false; } } } return flag; } //判断是否有重叠 function ck(start,end,start1,end1){ if(max(start,start1)<=min(end,end1)){ return false;//重复 }else{ return true;//不重复 } } //取大 function max(a,b){ if(parseInt(a)<parseInt(b)){ return parseInt(b); }else{ return parseInt(a); } } //取小 function min(a,b){ if(parseInt(a)>parseInt(b)){ return parseInt(b); }else{ return parseInt(a); } }
数组中是否有重复元素
function repeat(list){ var len = list.length; $.unique(list); if(list.length!=len){ return true; } }
深度复制数组:
var newList=$.extend(true,[],list);
创建1-100的数组
Array.from(Array(100), (v,k) => k+1);
数组按大小排序
arr.sort(function(e,r){return r-e});
时间+n天
//加n天 function addDate(date,n){ var d=new Date(date); newDate=d.setDate(d.getDate()+n); dt=new Date(newDate); var m=dt.getMonth()+1; if(m<10){ m='0'+m; } var day=dt.getDate(); if(day<10){ day='0'+day } return dt.getFullYear()+'-'+m+'-'+day; }
时间格式化:
// 时间格式化 function dateFtt(fmt,date) { var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.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; }
var today = new Date(); var Time = dateFtt("yyyy-MM-dd hh:mm:ss",today)
select 动态添加option;
balabala.balabala=function(){ layui.use('form',function(){ var form = layui.form; $.ajax({ url: 我的请求接口, type: 'post', dataType: 'json', async:false, data: {hehe:$('#hehe').val()}, success:function(data){ var balabalaName= document.getElementById("balabalaName"); for(var i=0;i<data.length;i++){ var option = document.createElement("option"); option.innerHTML = data[i].name; option.value = data[i].id; balabalaName.appendChild(option); } layui.form.render(); }, }); }); }
form 表单序列化提交
返回拼接的字符串:
var params = $("#form").serialize();
返回数组:
var arr = $("#form").serializeArray()
返回Json:通过arr 拼接一个
参考与使用: var params = $("#form").serializeObject();
layui.use(['table', 'form','laydate', 'ax' ], function () { var $ = layui.jquery; var form = layui.form; $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; });
iframe 嵌套时调用 :
父级 调用 子页面元素:
$('#父iframe的id').contents().find('想要的掉的比如.layui-tab[lay-filter=' + w + ']')
子页面 调用 父页面元素:
$(父页面的元素选择器, window.parent.document);
$('.layui-tab-title .layui-this .layui-tab-close', window.parent.document).trigger('click');
某个div高度自适应:看需求 也可以把style 中的 height 换成 min-height 这样在这个div 里背景颜色就会随着窗口高度改变了
var box_height=$(window).height();// 屏幕高度 var real_height = box_height - 100; $('#box').attr('style','height:'+real_height+'px;');
// 重置大小 $(window).resize(function () { var box_height=$(window).height();// 屏幕高度 var real_height = box_height - 100; $('#box').attr('style','height:'+real_height+'px;'); });
向数组前面加 元素
result.unshift({type: 'checkbox'});//在前面加
result.push({type: 'checkbox'});//在后面加
关于前台本地缓存:localStorage
localStorage.setItem("elementName",elementName);// 加 localStorage.removeItem("elementName");// 删 window.addEventListener("storage", function (e) { alert(e.newValue); });//监听
监听input:
$("#id").on("input",function(e){ //获取input输入的值 console.log(e.delegateTarget.value); });
从数组中删除
var delIndex=$.inArray(parseInt(index),list); list.splice(delIndex,1);
遍历对象中的属性:
$.each(obj, function(i, val) { var text = "Key:" + i + ", Value:" + val; console.log(text); });
测试(计算)方法的执行速度
console.time() // 前面加 console.timeEnd() // 后面加
@
-------博客内容仅用于个人学习总结-------