Удалите # из конца добавленного URL, нажав кнопку jQuery scrollTop с href = "#" - PullRequest
0 голосов
/ 10 сентября 2018

Я пишу новый шаблон Joomla 3x для работы с Bootstrap 4x.Я включил ссылку «Перейти наверх», которая появляется внизу страницы.В index.php это вводится как:

<div id="gotop" class=""><a href="#" class="scrollup">Go to top</a></div>

И в моем файле template.js есть следующее, что прекрасно работает:

     jQuery(window).scroll(function(){
    if ( jQuery(this).scrollTop() > 1200) {
         jQuery("#gotop").addClass("gotop_active");
    } else {
         jQuery("#gotop").removeClass("gotop_active");
    }
}); 
jQuery(".scrollTop").click(function(){
    jQuery("html, body").animate({ scrollTop: 0 }, 600);
    return false;
});

Однако, когда я нажимаюКнопка на странице и я возвращаюсь наверх, URL теперь mywebsite / current-page #

Если я уберу # из href = "#" (т.е. href = ""), я не получувозвращается в начало текущей страницы, но в начало домашней страницы.

Тот же код (откуда я его скопировал) находится в другом шаблоне, написанном несколько лет назад (не мной), и# не добавляется в URL.

Итак, кто-то может сказать, пожалуйста, как мне остановить # добавление в URL текущей страницы?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Как я уже упоминал в моем первоначальном посте, этот шаблон использует Bootstrap 4x, на момент написания v4.1.3.

Я добавил ссылки на файлы в моем index.php, как описано на странице Bootstrap. здесь

После тестирования этих файлов один за другим я обнаружил, что этот файл jquery-3.3.1.slim.min.js вызывает конфликт.Я удалил ссылку, и теперь функция «Перейти наверх» работает правильно.Я не уверен, однако, как не включение этой ссылки повлияет на мой шаблон в будущем, но в данный момент она работает нормально.(Я также удалил ссылку popper.js, так как она мне сейчас не нужна ... РЕДАКТИРОВАТЬ: Упс. Мне нужен popper.js).

0 голосов
/ 10 сентября 2018

Измените свой код следующим образом

  1. Измените select с .scrollTop на .scrollup

  2. Включите событие в функцию и событие оператора.warnDefault ();

     jQuery(".scrollup").click(function(event){
         event.preventDefault();
         jQuery("html, body").animate({ scrollTop: 0 }, 600);
         return false;
    });
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...