diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
| commit | 7aa203150fc1a2ec79c681c13f0d486d531746eb (patch) | |
| tree | f09ba9f69ccd434e9c7fdeb41807fc8008784d8a /html/assets/js/plugins/scrollShadowHor.js | |
| parent | 221af3a2e035bd6689294509feb52f286d3bd5be (diff) | |
| download | classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.gz classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.bz2 classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.zip | |
error pages; js system to support back/front-end
Diffstat (limited to 'html/assets/js/plugins/scrollShadowHor.js')
| -rw-r--r-- | html/assets/js/plugins/scrollShadowHor.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/html/assets/js/plugins/scrollShadowHor.js b/html/assets/js/plugins/scrollShadowHor.js new file mode 100644 index 0000000..eed0325 --- /dev/null +++ b/html/assets/js/plugins/scrollShadowHor.js @@ -0,0 +1,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');
+ // }
+ //}
+});
|
