Add is-scroll-up. Update test. Update version 1.5.0
This commit is contained in:
@ -8,13 +8,17 @@
|
||||
* return void
|
||||
*/
|
||||
function addEventScroll() {
|
||||
let eventScrollDown = 'is-scroll-down';
|
||||
let eventScrollUp = 'is-scroll-up';
|
||||
const eventScrollDown = 'is-scroll-down';
|
||||
const eventScrollUp = 'is-scroll-up';
|
||||
const eventScrollTop = 'is-scroll-top';
|
||||
let elementsDown = getElementsValidatesByEvent(eventScrollDown);
|
||||
let elementsUp = getElementsValidatesByEvent(eventScrollUp);
|
||||
let elementsTop = getElementsValidatesByEvent(eventScrollTop);
|
||||
window.addEventListener("scroll", () => {
|
||||
|
||||
let posScroll = window.pageYOffset || document.documentElement.scrollTop;
|
||||
// Scroll down
|
||||
|
||||
// Scroll down - is-scroll-down
|
||||
elementsDown.forEach((element) => {
|
||||
if (posScroll > lastScrollTop) {
|
||||
let params = splitParams(element, eventScrollDown);
|
||||
@ -32,7 +36,8 @@ function addEventScroll() {
|
||||
}
|
||||
}
|
||||
});
|
||||
// Scroll up
|
||||
|
||||
// Scroll up - is-scroll-up
|
||||
elementsUp.forEach((element) => {
|
||||
if (posScroll <= lastScrollTop) {
|
||||
let params = splitParams(element, eventScrollUp);
|
||||
@ -51,6 +56,38 @@ function addEventScroll() {
|
||||
}
|
||||
});
|
||||
lastScrollTop = posScroll <= 0 ? 0 : posScroll; // For Mobile or negative scrolling
|
||||
|
||||
// Scroll top - is-scroll-top
|
||||
elementsTop.forEach((element) => {
|
||||
let params = splitParams(element, eventScrollTop);
|
||||
if (posScroll <= 0) {
|
||||
switch(params.functionParent) {
|
||||
case 'class':
|
||||
switch(params.functionChild) {
|
||||
case 'add':
|
||||
element.classList.add(params.value);
|
||||
break;
|
||||
case 'remove':
|
||||
element.classList.remove(params.value);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(params.functionParent) {
|
||||
case 'class':
|
||||
switch(params.functionChild) {
|
||||
case 'add':
|
||||
element.classList.remove(params.value);
|
||||
break;
|
||||
case 'remove':
|
||||
element.classList.add(params.value);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user