Javascript наверх без добавления # к URL-адресуHtml

Программисты Html
Anonymous
Javascript наверх без добавления # к URL-адресу

Сообщение Anonymous »

Я новичок в JavaScript. Использование бесплатного кода шаблона для создания веб-страницы. У меня есть прекрасно работающий фрагмент возврата к началу, но проблема в том, что он добавляет «#» к URL-адресу, когда я нажимаю на него. И когда я нажимаю кнопку «Назад» в браузере, мне пришлось щелкнуть дважды, так как при первом нажатии хэш удаляется, а затем снова щелкнуть, чтобы перейти на предыдущую страницу, что очень раздражает. Хотя для этого существует множество примеров jQuery, я не хочу добавлять jQuery и использовать только тот JavaScript, который у меня есть. Вот код. Есть ли способ удалить «#» из URL-адреса, когда я нажимаю прокрутку до верхней привязки? Я также попытался изменить тег привязки на кнопку, но мне не удалось заставить его работать. Пожалуйста, помогите.
HTML


JS
(function () {
/**
* Easy selector helper function
*/
const select = (el, all = false) => {
el = el.trim()
if (all) {
return [...document.querySelectorAll(el)]
} else {
return document.querySelector(el)
}
}

/**
* Easy event listener function
*/
const on = (type, el, listener, all = false) => {
let selectEl = select(el, all)
if (selectEl) {
if (all) {
selectEl.forEach(e => e.addEventListener(type, listener))
} else {
selectEl.addEventListener(type, listener)
}
}
}

/**
* Easy on scroll event listener
*/
const onscroll = (el, listener) => {
el.addEventListener('scroll', listener)
}

/**
* Back to top button
*/
let backtotop = select('.back-to-top')
if (backtotop) {
const toggleBacktotop = () => {
if (window.scrollY > 100) {
backtotop.classList.add('active')
} else {
backtotop.classList.remove('active')
}
}
window.addEventListener('load', toggleBacktotop)
onscroll(document, toggleBacktotop)
}
})();


Подробнее здесь: https://stackoverflow.com/questions/696 ... to-the-url

Вернуться в «Html»