Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/hossainemruz/toha.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'static/assets/js/main.js')
-rw-r--r--static/assets/js/main.js74
1 files changed, 39 insertions, 35 deletions
diff --git a/static/assets/js/main.js b/static/assets/js/main.js
index 745b547..1d468a8 100644
--- a/static/assets/js/main.js
+++ b/static/assets/js/main.js
@@ -25,44 +25,48 @@ var isMobile = false, isTablet = false, isLaptop = false;
function addSmoothScroll() {
// ref: https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
- $('a[href*="#"]').click(function (event) {
- // On-page links
- if (
- location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
- &&
- location.hostname == this.hostname
- ) {
- // Figure out element to scroll to
- var target = $(this.hash);
- target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
- // Does a scroll target exist?
- if (target.length) {
- // Only prevent default if animation is actually gonna happen
- event.preventDefault();
+ $('a[href*="#"]')
+ // Remove links that don't actually link to anything
+ .not('[href="#"]')
+ .not('[href="#0"]')
+ .click(function (event) {
+ // On-page links
+ if (
+ location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
+ &&
+ location.hostname == this.hostname
+ ) {
+ // Figure out element to scroll to
+ var target = $(this.hash);
+ target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
+ // Does a scroll target exist?
+ if (target.length) {
+ // Only prevent default if animation is actually gonna happen
+ event.preventDefault();
- let offset = 60;
- if (isMobile) {
- offset = 710;
- } else if (isTablet) {
- offset = 60;
+ let offset = 60;
+ if (isMobile) {
+ offset = 710;
+ } else if (isTablet) {
+ offset = 60;
+ }
+ $('html, body').animate({
+ scrollTop: target.offset().top - offset
+ }, 1000, function () {
+ // Callback after animation
+ // Must change focus!
+ var $target = $(target);
+ $target.focus();
+ if ($target.is(":focus")) { // Checking if the target was focused
+ return false;
+ } else {
+ $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
+ $target.focus(); // Set focus again
+ };
+ });
}
- $('html, body').animate({
- scrollTop: target.offset().top - offset
- }, 1000, function () {
- // Callback after animation
- // Must change focus!
- var $target = $(target);
- $target.focus();
- if ($target.is(":focus")) { // Checking if the target was focused
- return false;
- } else {
- $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
- $target.focus(); // Set focus again
- };
- });
}
- }
- });
+ });
}
addSmoothScroll();