Advertisement
Guest User

Задачка jQuery

a guest
May 4th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. Плавная прокрутка
  2.  
  3. Cделай плавную прокрутку при клике на якорь (якорь — это ссылка внутри страницы вроде <a href="#some-id">...</a>. При клике на нее страница прокручивается к элементу с id="some-id").
  4.  
  5. Подсказки:
  6.  
  7. плавная прокрутка делается анимацией свойства scrollTop на элементах html и body (так как в Хроме за прокрутку страницы отвечает html, а в других браузерах body)
  8. не надо вешать обработчик на все ссылки кодом вроде $('a').click так как это неэффективно и не работает для новых добавляемых ссылок. Используй метод on который ставит 1 обработчик на верх документа
  9. не забудь предотвратить обработку события браузером, иначе страница будет прыгать
  10. пользователь во время прокрутки может успеть нажать на другой якорь. В такой ситуации надо отменить анимацию и начать новую (jQuery по умолчанию не отменяет анимацию, а доигрывает ее до конца и только потом запускает вторую, что в большинстве случаев неправильно).
  11. проверь что вместо клика мышкой по ссылке можно подвести курсор кнопкой Tab и нажать Enter
  12. сложнее: проверь, работают ли кнопки «Назад»/«Вперед» корректно, перематывают ли она страницу? Сохраняется ли переход в истории, как это происходит без твоего скрипта?
  13. сложнее: проверь, меняется ли URL страницы при клике (добавляется ли якорь после #)? Можно ли переслать ссылку которая откроет нужное место страницы? Сохраняется ли положение прокрутки при обновлении страницы? В общем, проверь что с твоим скриптом история в браузере работает так же как и без него.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement