• JS相关笔记(一)JQ


    JQ API中文文档:

      https://www.jquery123.com/

    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;
        };
    
    });
    View Code

       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() // 后面加
     

    @

    -------博客内容仅用于个人学习总结-------
  • 相关阅读:
    BF算法和KMP算法
    Python课程笔记 (五)
    0268. Missing Number (E)
    0009. Palindrome Number (E)
    0008. String to Integer (atoi) (M)
    0213. House Robber II (M)
    0198. House Robber (E)
    0187. Repeated DNA Sequences (M)
    0007. Reverse Integer (E)
    0006. ZigZag Conversion (M)
  • 原文地址:https://www.cnblogs.com/DarGi2019/p/11763600.html
Copyright © 2020-2023  润新知