@Invision У людей часто бывают проблемы что при накатывания не офф. образов винды бас ломался или плохо работал, в общем проверьте в целом запускаеться ли бас на сервере где вы работаете, если не вы писали код то гадать можно очень долго в чем проблема, от того что там странно настроен скрипт до того что скрипт очень старый, и может уже плохо работать и ему нужно обновить движок
Скрипт скроллинга на яндекс картах
-
Кто парсил яндекс карты? Подскажите, как в браузере эмулируете скролл вниз именно в той части экрана где элементы выдачи (блок слева)? Скрипт ниже вытворяет что то странное, поднимая саму страницу вверх (а внизу - пустое пространство)
let elements = document.querySelectorAll('.search-snippet-view'); if (elements.length > 0) { let lastElement = elements[elements.length - 1]; lastElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); setTimeout(() => { window.scrollBy(0, 200); }, 500); // Wait for the initial scroll to complete before scrolling down 100px } })();
-
Вопрос, вы движок в авто тоже через выхлопную трубу ремонтируете ?
Зачем усложнять самому себе жизнь ?Включаем логику, простую думалку.
Скролить нам надо что ? Элементы, до какого времени ? Пока они не закончатся.Ну так и скролите, берем ЦИКЛ, можете даже с рандомным наведением и нажатиями поиграться. И закончится этот самый цикл именно в том месте где будет последний элемент...
-
Возможно, я не полно объяснил вопрос. Хочу понять, как скроллить без странного эффекта с пустым пространством:
Скрипт ниже вытворяет что то странное, поднимая саму страницу вверх (а внизу - пустое пространство)
В целом, я нашел рабочий скрипт:
let elements = document.querySelectorAll('.search-snippet-view'); if (elements.length > 0) { let lastElement = elements[elements.length - 1]; lastElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); setTimeout(() => { // Get the position of the last element const lastElementRect = lastElement.getBoundingClientRect(); const viewportHeight = window.innerHeight || document.documentElement.clientHeight; // Check if the last element is fully within the viewport if (lastElementRect.bottom <= viewportHeight) { // If the last element is fully in view, stop scrolling return; } // If the last element is not fully in view, scroll down window.scrollBy(0, 200); }, 500); // Wait for the initial scroll to complete before scrolling down 200px } })();