заменить ядро ​​javascript scrollto на анимацию jquery - PullRequest
0 голосов
/ 09 декабря 2011

Можно ли заменить базовую функцию Javascript пользовательской функцией?

Например, я использую jQuery Mobile, и он вызывает раздражающий «прыжок» в верхнюю часть страницы при переходе на другую страницу. Я обнаружил, что это потому, что в функции 'transitionPages' эта строка имеет

window.scrollTo( 0, $.mobile.defaultHomeScroll );

Я бы хотел оставить основной код jQm в покое (для целей сопровождения), поэтому, несмотря на то, что я думаю, что это должно было быть написано как анимация, я хотел бы сделать что-то вроде это: -

  • всякий раз, когда javascript scrollTo вызывается
  • не выполняет действия по умолчанию
  • вместо этого сделайте хорошую анимированную версию jQuery

Так что, по сути, взломайте функцию scrollTo, встроенную в javascript, и замените ее чем-то другим?

возможно?

1 Ответ

0 голосов
/ 09 декабря 2011

Вы можете просто установить встроенную функцию на свою собственную, чтобы переопределить ее. В основном:

window.scrollTo = YourAnimatedScrollFunction;

Имейте в виду, что скобки для назначения функции не используются, потому что она будет выполняться вместо назначения. Также убедитесь, что ваша пользовательская функция принимает те же параметры, что и собственная функция.

...