|
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 64
|
||||||||||||||||
Прокрутка глючит после перезагрузки страницы20.09.2019, 15:48. Показов 3265. Ответов 8
Метки нет (Все метки)
Доброго времени суток!
Сделал прокрутку по блокам на js, с помощью animate Вот код, сначала html:
И вот код файла js:
Все работает супер, кроме одного нюанса: при перезагрузки страницы переменная num становиться снова =1 (т.е. первый экран), а сама то страница остается на месте. Решил данный вопрос казалось бы легко: просто вставил
Я не понимаю, я уже и в разные места в коде вставлял, и через функцию другую делал и в файл другой выносил эту animate({scrollTop: "0"} И всегда она работает через раз (не буквально, может 5 раз нормально сделаться, потом 2 раз ненормально и тд). Суть то в том: что num меняется на 1 (как и должно), и прокрутка начинается с первого экрана программно А периодически страница "зависает" у человека на экране после загрузки например на num3, он крутит вниз, а она прокручивается на num2, ибо программно то она на num1 переключилась Буду очень признателен за помощь!
0
|
||||||||||||||||
| 20.09.2019, 15:48 | |
|
Ответы с готовыми решениями:
8
Как оставить изменения после перезагрузки страницы
Действие после перезагрузки страницы при вызове функции |
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|||||||||||||||||
| 21.09.2019, 07:30 | |||||||||||||||||
Сообщение было отмечено Alex-Kir как решение
Решение
1
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 64
|
|
| 21.09.2019, 21:39 [ТС] | |
|
Вооот, вроде идеально, спасибо большое!
![]() Добавлено через 2 часа 41 минуту Правда вот у меня 9 экраном и периодически, если крутить быстро, то моментами прокручивается на несколько экраном быстро, то есть троттлинга нет (вроде троттлинг это) Не критично, но все же.. Думаю отключение скроллинга решит вопрос или нет, попробую
0
|
|
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
||
| 21.09.2019, 23:26 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 64
|
||||||
| 22.09.2019, 00:54 [ТС] | ||||||
|
Ну да, оно работает как положено, но если быстро крутить колесико, то оно дергается немного в процессе анимации, едва заметно, может на пиксели там
Однако в силу того, что навряд ли кто-то будет так быстро скроллить (либо это будет случаться редко) + учитывая, что это практически незаметно - все круто ![]() Но тот скроллинг, что был у меня плавнее работает, там вообще не идет реакции на колесико, как бы быстро я не крутил, оно двигается четко раз в указанное время В силу же лага с обнулением при перезагрузки, я выбираю все же Ваш код, спасибо еще раз ![]() З.Ы. на самом деле, может денвер лагает немного, не уверен, но есть основания полагать Может еще колесо мышки (хотя связи не должно быть никакой), если крутить маленькими шажками, хоть и быстро, то все ок Код - 1 в 1 скопирован) Добавлено через 12 минут Кстати, момент прокрутки на несколько экранов при быстром скроллинге... Вопрос решился увеличением времени анимации Суть в том, что 1с - мало, и при быстром скроллинге прокрутка колесика может попасть четко в окончание анимации ) Т.е. следующий цикл начнется сразу после первого, и это будет выглядеть как сплошная прокрутка на два экрана Сделал 2с - сложнее стало рандомно попасть на четкое окончание анимации А почему контент немного дергается... мне кажется проблема в денвере может, с картинками такого не было Картинки и большие элементы не "рябят", а когда экран с большим кол-вом текста двигается , он немного рябит И в основном он так делает, когда во время анимации крутишь колесиком Добавлено через 26 минут И все таки мне интересно, почему в моем изначальном коде, страница при перезагрузке не возвращается наверх А когда я ей явно прописываю
Есть идея , что это связано как-то с документ реди и подгрузкой яндекс карт, потому что, я заметил, что она скроллится наверх, и идет "ожидание соединения с яндекс.ру", и как только через секунду яндекс догружается, она резко показывает num3 Добавлено через 5 минут Сейчас на старом коде 8 раз подряд было возвращение к num1 при перезагрузке, а на 9 раз опять резко на num3 перескочило
0
|
||||||
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|||
| 22.09.2019, 01:01 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 64
|
|||||||||||||||||
| 22.09.2019, 02:14 [ТС] | |||||||||||||||||
|
Я сделал обычную прокрутку, просто все js убрал
Так вот, вставил
- возвращать нас наверх при перезагрузки страницы, так? А у меня он скроллит вверх и резко откидывает на место перезагрузки обратно, каждый раз Добавлено через 57 секунд Согласен пора, но + за то, что не он виноват Добавлено через 1 минуту В теориии.. можно сделать все как SPA через js и просто повесить на событие обновления страницы скрипт, ибо проблема присутствует только при F5 и стрелках , при ссылках само собой все ок Но ради прокрутки наверх делать обработчик на историю.. Ну такое Считаю, что нужно не анимацию делать тогда наверх при F5, а чтобы не изменялась num, потому что походил по сайтам, там везде при перезагрузке остается на месте Добавлено через 49 минут В итоге я пошел от обратного, и решил просто не анимацию делать, а рассчитывать последний num. Теперь num определяется в функции и сравнивается с отступом раздела, затем нужное значение подставляется в переменную
![]() Я тестил его на картинках и все ок, но как только я добавил текста и разметку в блоки.. он почему то немного "рябить" стал при скроллинге В моем варианте скролла такой штуки нет, скорее всего это связанно с тем (я затестил), что у меня стоит проверка на переменную scrolling: событие колесика срабатывает только при scrolling = false, а во время анимации оно true, то есть нет ряби, так как невозможна даже малейшая попытка срабатывания скролла (по сути как троттлинг выходит)
0
|
|||||||||||||||||
|
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
||||||||||||
| 22.09.2019, 08:28 | ||||||||||||
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 64
|
|
| 22.09.2019, 20:52 [ТС] | |
|
Спасибо большое, все сделал, как хотелось)
Теперь немного в php завис, пошел в ту ветку
0
|
|
| 22.09.2019, 20:52 | |
|
Помогаю со студенческими работами здесь
9
Выполнение jQuery после сабмита формы(перезагрузки страницы) Таймер начинает работу только после перезагрузки страницы сбрасывается цвет и текст кнопки после перезагрузки страницы Выполнение скрипта после нажатия на кнопку и перезагрузки страницы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|