想到什么写什么

######
//获取地址栏参数

function getParam(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}


#######
//阻止事件传播

$(document).on('click','.ds-pop *,.ds-pop',function (e) {
e.stopPropagation();
})


########
//点击元素以外地方元素隐藏

$('body').on('click',function (e) {
var evt = e.srcElement||e.target;
if(evt.className=='welcomeTxt'||evt.className=='select')return;
$('.select').hide()
})

######
react css_modules 在使用css-loader时,在引入外部组件时,由于外部组件class命名并没有使用css_module规则,
而css文件经过css-loader处理,所以导致样式不能正常引入。
--------
解决办法:css-loader处理规则改成只处理src文件夹中css文件。
include:src路径,
exclude:排除node_module文件后仍有此问题,未解决!!(不晓得为什么)
######

safari 时间转时间戳不支持 "-" 格式需替换成 "/" ,问题表现NAN

######

问题描述:ios wap页input调起输入键盘,布局被顶上去。

解决:

ios_weixin() {
        var u = navigator.userAgent;
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
        if (isiOS) {
            // document.getElementsByTagName("input,textarea,select")[0].onBlur(function(){
            setTimeout(function () {
                var scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
                window.scrollTo(0, Math.max(scrollHeight - 1, 0));
            }, 50);
            // })
        }
    }

##############

深拷贝

function deepCopy(source){
    let target = Array.isArray(source)?[]:{}
    if(source instanceof Date) target = new Date
    if(source instanceof RegExp) target = new RegExp
    console.log(target)
    for(var attr in source){
        if(source.hasOwnProperty(attr)){
            if(source[attr] instanceof Object){
                target[attr] = deepCopy(source[attr])
            }else{
                target[attr] = source[attr]
            }
        }
    }
    return target
}

 

 

 

#################

时间戳转时间格式

// 时间戳转换格式
	formateDateTime:function(timestamp) {
		if(timestamp.toString().length == 10){
			timestamp = parseInt(timestamp+'000');
		}
		var date = new Date(timestamp);
		Y = date.getFullYear() + '-';
		M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
		D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()) + ' ';
		h = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
		m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes());
		// s = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds())
		return Y+M+D+h+m;
	}

###########################

文本安全css样式,设置文本输入样式***或点

-webkit-text-security:disc;

text-security:disc;

#########################

# 解决IDEA下的terminal中文Unicode编码问题  \Git\etc\bash.bashrc
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

#########################

promise.all 实现

Promise.all = function(data){
    var arr = []
    let promisesLength = data.length;
    return new Promise((resolve)=>{
         for (let i of data){
            Promise.resolve(i).then(res=>{
                arr[data.indexOf(i)] = res
                if(index===promisesLength) resolve(arr)
            })
         }
       
    })
}

#########################

防抖首次可立即执行

let debounce = function (function_, wait) {
  let flag = true;
  let first = true;
  let timer;
  return function (...argument) {
    if(timer) {
      clearTimeout(timer);
    }

    if (flag) {
      if(!timer) {
        function_(...argument);
      }
      flag = false;
      timer = setTimeout(function () {
        !first && function_(...argument);
        first = false;
        flag = true;
      }, wait);
    }
  };
};

 节流首次立即执行

throttle = function (function_: Function, wait: number) {
  let flag: boolean = true;
  let timer: number | undefined;
  return function (...argument: any[]) {
    if (flag) {
      flag = false;
      function_(...argument);
      timer = setTimeout(function () {
        flag = true;
        clearTimeout(timer);
      }, wait);
    }
  };
};

  

 
posted @ 2019-12-12 21:05  石页OK  阅读(153)  评论(0编辑  收藏  举报