Files
huangjingfen/pro_v3.5.1/view/admin/src/libs/loading.js

48 lines
1.6 KiB
JavaScript
Raw Normal View History

2026-03-07 22:29:07 +08:00
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
const events = [];
const $scroll = function(dom, fn) {
events.push({ dom, fn });
fn._index = events.length - 1;
};
$scroll.remove = function(fn) {
fn._index && events.splice(fn._index, 1);
};
//上拉加载;
const Scroll = {
addHandler: function(element, type, handler) {
if (element.addEventListener)
element.addEventListener(type, handler, false);
else if (element.attachEvent) element.attachEvent("on" + type, handler);
else element["on" + type] = handler;
},
listenTouchDirection: function() {
this.addHandler(window, "scroll", function() {
const wh = window.innerHeight,
st = window.scrollY;
events
.filter(e => e.dom.scrollHeight && e.dom.scrollHeight > 0)
.forEach(e => {
var dh = e.dom.scrollHeight;
var s = Math.ceil((st / (dh - wh)) * 100);
if (s > 85) e.fn();
});
});
}
};
Scroll.listenTouchDirection();
export default $scroll;
export { Scroll };