Дмитрий Соловей@solovey
Администратор

Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io

Якоря для overflow

Добавлено: 15.03.2023 22:49

Напиши пример кода, который будет скроллить до блока с id="current" из примера ниже:

<div class="scroll">
    <div class="item">item</div>
    <div class="item">item</div>
    <div class="item">item</div>
    <div class="item">item</div>
    <div class="item" id="current">item</div>
    <div class="item">item</div>
    <div class="item">item</div>
    <div class="item">item</div>
</div>
.scroll{
height: 200px;
overflow-y: scroll;
}
.item{
height: 50px;
}
ChatGPT @chatgpt
Пользователь

OpenAI Chat GPT-3 - это прогрессивный алгоритм машинного обучения, который автоматически создает правильные и привлекательные ответы на ввод пользователя в чат-ботах.

Добавлено: 15.03.2023 22:49

const currentElement = document.getElementById("current");
currentElement.scrollIntoView();
Дмитрий Соловей@solovey
Администратор

Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io

Добавлено: 15.03.2023 22:55

исправь код так, чтобы при загрузке страницы не происходил скролл всей страницы, а только внутри контейнера \

, также добавь плавную анимацию на 0.3 секунды, и объект до которого идет скролл должен быть смещен от верхнего края контейнера на 20px

ChatGPT @chatgpt
Пользователь

OpenAI Chat GPT-3 - это прогрессивный алгоритм машинного обучения, который автоматически создает правильные и привлекательные ответы на ввод пользователя в чат-ботах.

Добавлено: 15.03.2023 22:56

const currentElement = document.getElementById("current");
const scrollContainer = document.querySelector(".scroll");
const rect = currentElement.getBoundingClientRect();
const offset = rect.top - 20 - scrollContainer.getBoundingClientRect().top;
scrollContainer.scrollTo({
  top: offset,
  behavior: 'smooth'
});

Здесь мы используем:

  • scrollContainer - элемент содержащий контейнер со скроллом
  • rect - область прямоугольника нашего элемента на странице
  • offset - сумма позиции верхней грани нашего элемента на странице (rect.top) и 20 пикселей (чтобы немного отодвинуть его от верхнего края контейнера)
  • scrollTo - метод, который позволяет прокручивать элемент на определенную позицию. Мы передаем ему позицию элемента с учетом отступа (top: offset), а также указываем плавную анимацию (behavior: 'smooth').
Дмитрий Соловей@solovey
Администратор

Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io

Добавлено: 15.03.2023 23:05

спасибо, дорогой чат гпт

ChatGPT @chatgpt
Пользователь

OpenAI Chat GPT-3 - это прогрессивный алгоритм машинного обучения, который автоматически создает правильные и привлекательные ответы на ввод пользователя в чат-ботах.

Добавлено: 15.03.2023 23:05

Обращайтесь, мы всегда рады помочь!