Перейти к содержанию

Как изменить прокрутку страницы "вверх"? (JavaScript)


Рекомендуемые сообщения

Приветствую всех, и перехожу непосредственно к самому вопросу.

 

В IPB 3.3.3 есть такая встроенная функция (хук) "прокрутка страницы вверх", которая выглядит как не приметная кнопочка в футере форума. Ну собственно ищу помощи в следующем - необходимо сделать медленную прокрутку страницы.

 

В общем то нашёл сам скрипт который находится в public/js/ipb.js в котором на строке 1403 находится кусок кода отвечающего за прокрутку страницы... а вот как его изменить, чтобы была медленная прокрутка у меня тямы не хватает. Помогите его подпилить пжалста.

 

Кусок скрипта из ipb.js (строка 1403)

 /* This is needed for RTL - the generic anchoring isn't working on RTL for some reason */

if( $('backtotop') ){

$('backtotop').observe( "click", function(e){ Event.stop(e); window.scroll( 0, 0 ); } );

 

Кусок выдраного скрипта с медленной прокруткой из моего DLE (скорей всего jQuery)

/*TopPage*/
$(document).ready(function() {
    $('a#toptop').click(function(){
    $('html, body').animate({scrollTop:0}, 'slow');
    return false;
    });
});

 

 

Ссылка на комментарий
Поделиться на другие сайты

Просто нужно установить Время прокрутки изменяется в самом хуке (точно не помню где). Секунда-полторы - самое оно. По дефолту вроде бы 0.5.

Ссылка на комментарий
Поделиться на другие сайты

Просто нужно установить Время прокрутки изменяется в самом хуке (точно не помню где). Секунда-полторы - самое оно. По дефолту вроде бы 0.5.

Пасиб, помог! :)

 

Хук канеш я не стал ставить, т.к. родной кнопки IPB у меня уже и нету (стоит моя), а выдрал из хука код и немного поколдовал.

 

Заменил кусок скрипта в public/js/ipb.js (строка 1403):

 /* This is needed for RTL - the generic anchoring isn't working on RTL for some reason */

if( $('backtotop') ){

$('backtotop').observe( "click", function(e){ Event.stop(e); window.scroll( 0, 0 ); } );

 

на следующий:

/* This is needed for RTL - the generic anchoring isn't working on RTL for some reason */

 if( $('backtotop') ){

 $('backtotop').observe( "click", function(e){e.stop(); Effect.ScrollTo( $('top'), { duration:'0.4' }  );} );

 

и получил медленную прокрутку страницы.

 

Может комут пригодится такая технология :crazy:

Ссылка на комментарий
Поделиться на другие сайты

А зачем ставить медленно то?

Ссылка на комментарий
Поделиться на другие сайты

А зачем ставить медленно то?

Ну так чтоб сайт (откуда выдран 2ой кусок кода) и форум были идентичны и по дизайну и по таким мелочам как прокрутка страницы.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...