scroll.js
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
define('scroll', ['perfect-scrollbar', 'css!ps_css'], function() {
//force 强制刷新 重置Scroll
var Scroll = function(selector, force) {
var scroll = Scroll._scrolls[selector];
if (!selector || scroll && !force) return scroll;
this.selector = selector;
return function() {
var args = [].slice.apply(arguments);
Scroll._scrolls[selector] = $(args[0]).perfectScrollbar(function() {
return $.extend({
wheelSpeed: 1,
suppressScrollX: true,
wheelPropagation: false,
swipePropagation: false,
theme: 'lighter'
}, args[1]);
}());
}.apply(this, arguments);
};
Scroll._scrolls = {};
Scroll.scrollTo = function(key, scrollTop) {
var container = document.querySelector(key);
container.scrollTop = scrollTop;
$(container).perfectScrollbar("update");
};
Scroll.destroy = function(key) {
var scroll = this._scrolls[key];
var $container = !scroll ? $(key) : this._scrolls[key];
$container.perfectScrollbar('destroy');
$container.find(".ps-scrollbar").remove();
delete this._scrolls[key];
};
Scroll.resize = function(key) {
var scroll = this._scrolls[key];
scroll = scroll || $(key);
if(scroll.perfectScrollbar) {
scroll.perfectScrollbar('update');
}
};
return Scroll;
});