分享几个我自己经常用到的函数
function isEmpty(value) {
return value === null || value === undefined || value === '';
}
function getCookie(name) {
let cookieArr = document.cookie.split(";");
for(let i = 0; i < cookieArr.length; i++) {
let cookiePair = cookieArr[i].split("=");
if(name == cookiePair[0].trim()) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
function getQueryParams(url) {
let urlObj = new URL(url);
let params = new URLSearchParams(urlObj.search);
return params;
}
function getCurrentDateTime() {
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let day = now.getDate();
let hours = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
// 格式化日期时间字符串
let formattedDateTime = `${year}-${padZero(month, 2)}-${padZero(day, 2)} ${padZero(hours, 2)}:${padZero(minutes, 2)}:${padZero(seconds, 2)}`;
return formattedDateTime;
}
// 辅助函数:用于在小于10的数字前面补0,以确保两位数格式
function padZero(number, size) {
let s = number < 10 ? '0' : '';
return s + number.toString().substr(0, size);
}
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function touchmove(dom, callback) {
//起始
let startX;
let startY;
let startTime;
// 结束
let endX;
let endY;
let endTime;
// 移动
let moveX;
let moveY;
let moveTime;
// 监听触摸开始
dom.addEventListener("touchstart", (e) => {
// 获取开始触摸的时间 X和Y的位置
startTime = new Date().getTime();
startX = Math.round(e.touches[0].screenX);
startY = Math.round(e.touches[0].screenY);
},);
// 监听触摸结束
dom.addEventListener("touchend", (e) => {
// 结束触摸时间 X和Y离开的位置
endTime = new Date().getTime();
endX = Math.round(e.changedTouches[0].screenX);
endY = Math.round(e.changedTouches[0].screenY);
// 算一下触摸的 上下/左右 的距离
moveX = startX - endX;
moveY = startY - endY;
moveTime = endTime - startTime;
// 给个条件 上下/左右30px或者触摸时间超过 500ms
if (Math.abs(moveY) > 30 || Math.abs(moveX) > 30 || moveTime > 500) {
// 判断方向 触发回调函数并把数据对象传回
if (Math.abs(moveX) > Math.abs(moveY)) {
//左右
moveX > 0
? callback({ direction: "right", to: 'left', value: moveX })
: callback({ direction: "left", to: 'right', value: Math.abs(moveX) });
} else {
//上下
moveY > 0
? callback({ direction: "down", to: 'up', value: moveY })
: callback({ direction: "up", to: 'down', value: Math.abs(moveY) });
}
}
},);
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。