@sinosun/lib
Version:
sinosun jsbridge and net toolkit
113 lines (85 loc) • 2.86 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.string.match.js");
require("core-js/modules/es.string.split.js");
require("core-js/modules/es.date.to-string.js");
var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
(0, _defineProperty["default"])(exports, "__esModule", {
value: true
});
exports.scrollThrottle = exports.getUrlParams = exports.isPC = exports.hasModalConfirm = void 0;
/*
* @Description:
* @FilePath: \approvald:\gitCode\sinosunlib\src\BaseView\baseUtils.js
*/
//判断页面是否有弹框
function hasModalConfirm() {
var hasModal = false;
var dom = document.getElementsByClassName('sn-modal');
if (dom && dom.length) {
if ('none' === dom[0].style.display) {
hasModal = false;
} else {
hasModal = true;
}
}
return hasModal;
}
exports.hasModalConfirm = hasModalConfirm; // 是不是PC
function isPC() {
var userAgentInfo = navigator.userAgent;
var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if ((0, _indexOf["default"])(userAgentInfo).call(userAgentInfo, Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
exports.isPC = isPC;
/**
* 获取当前url的参数
*/
function getUrlParams() {
var url = window.location.href;
var regexP = /[^#&?]+=[^#&?]*/gi,
res = {};
var ms = url.match(regexP);
if (ms) {
for (var i = 0; i < ms.length; i++) {
var arr = ms[i].split("=");
res[arr[0]] = decodeURIComponent(arr[1]);
}
}
return res;
}
exports.getUrlParams = getUrlParams; // 函数节流
function scrollThrottle(fn, delay) {
var last; // 上次执行的时间
var timer; // 定时器
delay || (delay = 250); // 默认间隔为250ms
return function () {
var context = this;
var args = arguments;
var now = +new Date(); // 现在的时间
if (last && now < last + delay) {
// 当前距离上次执行的时间小于设置的时间间隔
clearTimeout(timer); // 清除定时器
timer = (0, _setTimeout2["default"])(function () {
// delay时间后,执行函数
last = now;
fn.apply(context, args);
}, delay);
} else {
// 当前距离上次执行的时间大于等于设置的时间,直接执行函数
last = now;
fn.apply(context, args);
}
};
}
exports.scrollThrottle = scrollThrottle;