javascript - 页面加载后如何手动调用dragscroll函数?
问题描述
我有以下用于页面加载时自动运行的拖动滚动代码。
但我想手动调用这个函数,因为我正在使用 DOM 元素更新 html。
我尝试过使用 window.factory 和 window.reset 但它对我不起作用。
我的 Javascript 模块文件:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports'], factory);
} else if (typeof exports !== 'undefined') {
factory(exports);
} else {
factory((root.dragscroll = {}));
}
}(this, function (exports) {
var _window = window;
var _document = document;
var mousemove = 'mousemove';
var mouseup = 'mouseup';
var mousedown = 'mousedown';
var EventListener = 'EventListener';
var addEventListener = 'add'+EventListener;
var removeEventListener = 'remove'+EventListener;
var newScrollX, newScrollY;
var dragged = [];
var reset = function(i, el) {
for (i = 0; i < dragged.length;)
{
<some code>
}
// cloning into array since HTMLCollection is updated dynamically
dragged = [].slice.call(_document.getElementsByClassName('dragscroll'));
for (i = 0; i < dragged.length;)
{
<some code>
}, 0
);
_window[addEventListener](
mouseup, cont.mu = function() {pushed = 0;}, 0
);
_window[addEventListener](
mousemove,
cont.mm = function(e) {
if (pushed) {
(scroller = el.scroller||el).scrollLeft -=
newScrollX = (- lastClientX + (lastClientX=e.clientX));
scroller.scrollTop -=
newScrollY = (- lastClientY + (lastClientY=e.clientY));
if (el == _document.body) {
(scroller = _document.documentElement).scrollLeft -= newScrollX;
scroller.scrollTop -= newScrollY;
}
}
}, 0
);
})(dragged[i++]);
}
}
if (_document.readyState == 'complete') {
reset();
} else {
_window[addEventListener]('load', reset, 0);
}
exports.reset = reset;
}));
})
我想手动调用上面的函数。
解决方案
你能试试吗
window.dragscroll.reset();
这将手动调用您的重置功能。
让我知道它是否有帮助。
推荐阅读
- sql - PostgreSQL:如何遍历表列表并执行更新
- botframework - 机器人框架上的链接类型按钮
- c++ - 将值附加到嵌套的 QList
- javascript - NodeJS:如何将查询结果分配给变量并使用它来填充 html 表?
- angular - Bootstrap 4 cols 在 Angular 组件中不起作用
- javascript - 如何从克隆集合中分离事件侦听器?
- android - Dagger 2:将 2 个不同的作用域注入到一个对象中
- php - 附加大于 2mb 的 pdf
- python - pandas read_html ValueError:未找到表
- sql-server - 在 Azure SQL 数据仓库中执行 SQL 脚本