blob: eed032568c9e43a4ee9a3f62e77189c622cfbc30 (
plain)
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
|
$$plugins.define('scrollShadowHor', function (element, options) {
var scrollElm = element.querySelector('.scrollbar'),
listInner = element.querySelector('.scrollbar__inner');
const observer = new MutationObserver(function(mutations) {
var childrenMutations = mutations.filter((x) => x.type === "childList");
if (childrenMutations.length > 0){
checkScrollPos(scrollElm);
}
});
observer.observe(listInner, { subtree: true, childList: true });
checkScrollPos(scrollElm);
scrollElm.addEventListener("scroll", function () {
checkScrollPos(this);
});
function checkScrollPos(scrollContainer) {
if (scrollContainer.scrollLeft + element.offsetWidth > listInner.offsetWidth - 8) {
element.classList.add('scrollbarShadow--right');
} else {
element.classList.remove('scrollbarShadow--right');
}
if (scrollContainer.scrollLeft < 8) {
element.classList.add('scrollbarShadow--left');
} else {
element.classList.remove('scrollbarShadow--left');
}
}
//checkScrollInit();
//function checkScrollInit() {
// if (element.offsetWidth >= listInner.offsetWidth) {
// element.classList.add('scrollbarShadow--noScroll');
// } else {
// element.classList.remove('scrollbarShadow--noScroll');
// }
//}
});
|