Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.07.2020, 18:54
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 651

Сообщение от voraa Посмотреть сообщение
А цель то какая?
Сначала сделать плавный роллинг, а потом перейти по ссылке (куда)?
Так не получится. Плавная прокрутка асинхронна. Переход пойдет сразу до ее завершения
Есть такое понятие как якоря, их делают через ссылки, они позволяют перемещаться по странице.
Ответить с цитированием
  #12 (permalink)  
Старый 07.07.2020, 18:58
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,700

Сообщение от Сергей Ракипов
Есть такое понятие как якоря, их делают через ссылки, они позволяют перемещаться по странице.
Якорь - это один способ перемещения. Только с помощью HTML реализуется.
А scrollIntoView - другой, реализуется средствами JS.
Их не надо смешивать. Либо одно, либо другое.

Последний раз редактировалось voraa, 07.07.2020 в 19:01.
Ответить с цитированием
  #13 (permalink)  
Старый 07.07.2020, 22:17
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 651

voraa,
Вы знаете почему не работает на ссылки?
Ответить с цитированием
  #14 (permalink)  
Старый 07.07.2020, 22:30
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,700

Я же объяснил
При клике на ссылку начинает работать ваша функция, которая вызывает плавный скроллинг. Но JS не ждет, когда закончится этот процесс, а сразу запускает действие по умолчанию - переход (перемещение по странице). Ссылка href="#" - трактуется как переход на самый верх страницы
Вы даже сами можете попробовать. Зайдите в отладчик, поставьте точку останова на строке
console.log(`работает`);
Нажмите свою ссылку. Страница плавно прокрутится вниз. Точка останова не даст выполнится действию по умолчанию сразу. Если продолжить выполнение, то страница сразу переместится вверх, как и положено при <a href="#">

Последний раз редактировалось voraa, 07.07.2020 в 22:54.
Ответить с цитированием
  #15 (permalink)  
Старый 07.07.2020, 23:23
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 651

voraa,
понял спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно вызвать массив biryukovm Элементы интерфейса 3 19.03.2018 13:31
Ищем хороших JS-разработчиков для интересного проекта xemel Работа 0 17.08.2015 10:21
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
drag-and-drop и position:fixed dotwatt Элементы интерфейса 5 05.12.2012 08:44
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31