Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: прокрутка страницы немного вниз или вверх
 
 автор: rodmial   (26.01.2015 в 16:54)   письмо автору
 
 

Здравствуйте, подскажите, пожалуйста, как реализовать прокрутку страницы на пол-экрана вверх или вниз (и не важно, насколько она была прокручена до этого)

  Ответить  
 
 автор: confirm   (29.01.2015 в 02:51)   письмо автору
 
   для: rodmial   (26.01.2015 в 16:54)
 

Не важно или все таки относительно текущего положения?

  Ответить  
 
 автор: rodmial   (29.01.2015 в 13:12)   письмо автору
 
   для: confirm   (29.01.2015 в 02:51)
 

заработало window.scrollTo(0,window.scrollY+=window.screen.availHeight/2);
осталось анимировать это дело.

  Ответить  
 
 автор: confirm   (29.01.2015 в 13:27)   письмо автору
 
   для: rodmial   (29.01.2015 в 13:12)
 

window.screen - вы уверены что это именно то что надо?
Размер экрана и клиентской области браузера, это далеко не одно и то же.

  Ответить  
 
 автор: rodmial   (29.01.2015 в 15:44)   письмо автору
 
   для: confirm   (29.01.2015 в 13:27)
 

если скажете, как добиться точно половины - скажу вам только спасибо. но пока устраивает и так.
теперь хочется анимировать это. и вот тут пока никак.

  Ответить  
 
 автор: confirm   (29.01.2015 в 16:02)   письмо автору
 
   для: rodmial   (29.01.2015 в 15:44)
 

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

Но коли устраивает, и остается прокатать, что же, катайте - запускайте таймер и изменяйте положение прокрутки порциями.

  Ответить  
 
 автор: rodmial   (29.01.2015 в 16:40)   письмо автору
 
   для: confirm   (29.01.2015 в 16:02)
 

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

это всё понятно

>Но коли устраивает, и остается прокатать, что же, катайте - запускайте таймер и изменяйте положение прокрутки порциями.

я хотел через jQuery.animate

  Ответить  
 
 автор: confirm   (29.01.2015 в 16:59)   письмо автору
 
   для: rodmial   (29.01.2015 в 16:40)
 

Так решайте тогда все на нем, а то кусок на этом, кусок на на другом, а почему не понятно.

Во-первых, получение документа чтобы его крутануть, это не обязательно body, ибо не во всех браузерах будет работать. Лучше так:

$.fn.doc = function(){
    return this.map(function(){
        var e = this,
             isWin = !e.nodeName || $.inArray( e.nodeName.toLowerCase(), ['html','body'] ) != -1;
        if(!isWin) return e;
        var doc = (e.contentWindow || e).document || e.ownerDocument || e;
        return /webkit/i.test(navigator.userAgent) || doc.compatMode == 'BackCompat' ? doc.body : doc.documentElement
    })
};

$(function() {
    var doc = $(window).doc(); //определить документ, который уже можно крутить
    //а прокрутка документа, это изменение его параметра ScrollTop()
    doc.animate({scrollTop:здесь_полученное_значение_половины}, скорость_в_ms, тип_кривой_скорости_необязательный_параметр, функция_которая_будет_выполнена_после_окончания_анимации_необязательный_параметр); 
});

  Ответить  
 
 автор: rodmial   (30.01.2015 в 10:28)   письмо автору
 
   для: confirm   (29.01.2015 в 16:59)
 

всё на нём и хотел. большое спасибо, попробую. что-то выглядит сложновато. но ничего, разберусь.

  Ответить  
 
 автор: confirm   (30.01.2015 в 14:47)   письмо автору
 
   для: rodmial   (30.01.2015 в 10:28)
 

Да нет ничего сложного, просто метод, которому нужно задать соответствующие параметры и все.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования