Answer the question
In order to leave comments, you need to log in
How to implement this in pure JS?
Purpose: to implement anchor links on the page using JS. Here is the HTML:
<ul class = "list">
<li class="li active">главная</li>
<li class="li">навыки</li>
<li class="li">опыт</li>
<li class="li">портфолио</li>
<li class="li">контакты</li>
</ul>
let li = document.querySelectorAll('.li');
let ul = document.querySelector('.list');
// Определяю по какой ссылке был клик:
li.forEach(i => {
i.addEventListener('click', function(){
//Здесь нужно вызвать ф-ю для каждого элемента
});
});
// Вот эта функция, переносящаяся на нужный блок
function ScrollTo(element){
window.scroll({
left: 0,
top: element.offsetTop,
behavior: 'smooth'
})
}
Answer the question
In order to leave comments, you need to log in
Goal: implement anchor linksStep number 0 to achieve this goal is to actually use links in the markup, and specify the element ID as href. And then no if will be needed - it will be easy to get the id of the element, and by id already its own.
event.preventDefault()
.
let ul = document.querySelector('.list');
// Определяю по какой ссылке был клик:
ul.addEventListener('click', data => {
ScrollTo(data.target) // Дочерний элемент на который вы нажали в блоке
})
// Вот эта функция, переносящаяся на нужный блок
function ScrollTo(element){
window.scroll({
left: 0,
top: element.offsetTop,
behavior: 'smooth'
})
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question