|
|
|
| Здравствуйте, подскажите, пожалуйста, как реализовать прокрутку страницы на пол-экрана вверх или вниз (и не важно, насколько она была прокручена до этого) | |
|
|
|
|
|
|
|
для: rodmial
(26.01.2015 в 16:54)
| | Не важно или все таки относительно текущего положения? | |
|
|
|
|
|
|
|
для: confirm
(29.01.2015 в 02:51)
| | заработало window.scrollTo(0,window.scrollY+=window.screen.availHeight/2);
осталось анимировать это дело. | |
|
|
|
|
|
|
|
для: rodmial
(29.01.2015 в 13:12)
| | window.screen - вы уверены что это именно то что надо?
Размер экрана и клиентской области браузера, это далеко не одно и то же. | |
|
|
|
|
|
|
|
для: confirm
(29.01.2015 в 13:27)
| | если скажете, как добиться точно половины - скажу вам только спасибо. но пока устраивает и так.
теперь хочется анимировать это. и вот тут пока никак. | |
|
|
|
|
|
|
|
для: rodmial
(29.01.2015 в 15:44)
| | А как можно узнать половину, если половина нужна именно клиентской области? А вы не задумывались над тем, что при одном и том же разрешении монитора у разных клиентов, видимая область документа будет различна и определятся как типом браузера, так и его шапкой, высота которой может быть какой угодно, и зависеть от всяких панелек? А ведь к примеру и высота Панели задач может тоже сильно повлиять на размер видимой области.
Но коли устраивает, и остается прокатать, что же, катайте - запускайте таймер и изменяйте положение прокрутки порциями. | |
|
|
|
|
|
|
|
для: confirm
(29.01.2015 в 16:02)
| | >А как можно узнать половину, если половина нужна именно клиентской области? А вы не задумывались над тем, что при одном и том же разрешении монитора у разных клиентов, видимая область документа будет различна и определятся как типом браузера, так и его шапкой, высота которой может быть какой угодно, и зависеть от всяких панелек? А ведь к примеру и высота Панели задач может тоже сильно повлиять на размер видимой области.
это всё понятно
>Но коли устраивает, и остается прокатать, что же, катайте - запускайте таймер и изменяйте положение прокрутки порциями.
я хотел через jQuery.animate | |
|
|
|
|
|
|
|
для: 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, тип_кривой_скорости_необязательный_параметр, функция_которая_будет_выполнена_после_окончания_анимации_необязательный_параметр);
});
|
| |
|
|
|
|
|
|
|
для: confirm
(29.01.2015 в 16:59)
| | всё на нём и хотел. большое спасибо, попробую. что-то выглядит сложновато. но ничего, разберусь. | |
|
|
|
|
|
|
|
для: rodmial
(30.01.2015 в 10:28)
| | Да нет ничего сложного, просто метод, которому нужно задать соответствующие параметры и все. | |
|
|
|