Jump to content

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

Featured Replies

Posted
comment_16127

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

 

В 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;
    });
});

 

 

comment_16130

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

  • Author
comment_16136

Просто нужно установить Время прокрутки изменяется в самом хуке (точно не помню где). Секунда-полторы - самое оно. По дефолту вроде бы 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:

  • Author
comment_16194

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.