introducing page scroller
This commit is contained in:
parent
189ad18709
commit
1d3f9dfcb6
38
resources/js/pageScroller.js
Normal file
38
resources/js/pageScroller.js
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
function handleScrollButonDisplay() {
|
||||||
|
const pageScroller = document.querySelector('#page-scroller');
|
||||||
|
|
||||||
|
if (
|
||||||
|
document.body.scrollTop > window.innerHeight / 2 ||
|
||||||
|
document.documentElement.scrollTop > window.innerHeight / 2
|
||||||
|
) {
|
||||||
|
pageScroller.removeAttribute('aria-hidden');
|
||||||
|
} else {
|
||||||
|
pageScroller.setAttribute('aria-hidden', 'true');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function scrollTop() {
|
||||||
|
window.scrollTo({
|
||||||
|
top: 0,
|
||||||
|
behavior: 'smooth',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function scrollToFilters() {
|
||||||
|
const filters = document.querySelector('.filters-toolbar');
|
||||||
|
filters.scrollIntoView({
|
||||||
|
behavior: 'smooth',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function pageScrollerInit() {
|
||||||
|
const pageScroller = document.querySelector('#page-scroller');
|
||||||
|
if (!pageScroller) return;
|
||||||
|
window.addEventListener('scroll', handleScrollButonDisplay);
|
||||||
|
|
||||||
|
const scrollTopBtn = document.querySelector('#scroller-top');
|
||||||
|
if (!scrollTopBtn) return;
|
||||||
|
scrollTopBtn.addEventListener('click', scrollTop);
|
||||||
|
|
||||||
|
const scrollerFilterBtn = document.querySelector('#scroller-filter');
|
||||||
|
if (!scrollerFilterBtn) return;
|
||||||
|
scrollerFilterBtn.addEventListener('click', scrollToFilters);
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
?>
|
?>
|
||||||
|
<!-- <button>salut</button> -->
|
||||||
|
|
||||||
<div id="scroller-top" aria-hidden="true">
|
<div id="page-scroller" aria-hidden="true">
|
||||||
<img class="arrow-icon" src="<?php echo get_template_directory_uri() . '/resources/img/graphic-assets/arrow-scroll-top.svg' ?>" alt=''>
|
<?php if (is_page_template('template-publications.php')) : ?>
|
||||||
|
<button id="scroller-filter"><?php echo __("Modifier les filtres", "homegrade-theme__texte-fonctionnel") ?></button>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<button id="scroller-top">
|
||||||
|
<img class="arrow-icon" src="<?php echo get_template_directory_uri() . '/resources/img/graphic-assets/arrow-scroll-top.svg' ?>" alt=''>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
Loading…
Reference in New Issue
Block a user