2012-05-11 2 views
1

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

У меня есть 5 ДИВ все готово с высоты на основе от $ (окно) .height()
I установили каждый DIV с уникальным идентификатором

я некоторые вары набор

var wH = $(window).height(); 
var half-wH = (wH)/2; 

, что я хотел бы сделать, чтобы запрос прокрутки окна для каждого идентификатора на основе 50% window.height либо путь

т.е. окно высота 600px
менее 300px scrollTo # id1
больше, то 300px, но меньше, чем 900px scrollTo # id2
и т.д., но только после небольшой задержки

Я знаю, что если я использую
. scrollTop() в сочетании с 1-м div # ID1
он покажет мне пиксели, прокручиваемые с верхней части моей страницы

Как я все это собрал, чтобы я почесал голову!

+1

Вероятно, хорошая идея для настройки вашего примера в http://jsfiddle.net/ :) –

+0

хорошая идея здесь [jsfiddle] (http://jsfiddle.net/N5U2j/15/) –

+0

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

ответ

1
var st = $(window).scrollTop(); 
var elem = $('#id1').offset().top; 
var elem2 = $('#id2').offset().top; 

if(st < 300) { 
    $(window).scrollTop(elem) 
} 

if(st > 300 && st < 900) { 
    $(window).scrollTop(elem2) 
} 
+0

вот что я пытаюсь сделать [здесь] (http://www.beoplay.com/Products/Beolit12) пока что играю с вами код, который мне нужен, и мгновенное возвращение к вершине документа но не слайд –

+0

это было не очень хорошо Английский У меня есть установка [jsfiddle] (http://jsfiddle.net/N5U2j/15/) Я бы хотел использовать if (st < 300) { $ ("body"). ScrollTo ("# ID1"). Delay (1000); } } –

+0

ОК, так что более возиться, и я дошел до этого момента var st = $ (window) .scrollTop(); $ (документ) .ready (функция() { $ (окно) .scroll (функция() { , если (ст <300) { $ ("тело"). ScrollTo ("# 1", 2000) .delay (2000); } else if (st> 300 && st <900) { $ ("body"). scrollTo ("# 2", 2000) .delay (2000); } else if (st> 900 && st <1500) { $ ("body"). scrollTo ("# 3", 2000).Задержка (2000); } }); }); , но теперь no-matter whet $ (window) .scrollTop(); номер, он прокручивает обратно до ID1 или любого другого идентификатора, установленного в первом состоянии «если» –

2

Чтобы использовать JavaScript scrollBy и SetTimeout методы, чтобы сделать веб-страницы прокрутки вниз автоматически. Измените значение таймаута, чтобы изменить скорость прокрутки в миллисекундах.

function pageScroll() { 
     window.scrollBy(0,50); // horizontal and vertical scroll increments 
     scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds 
} 

Чтобы быть прокрутки автоматически при загрузке страницы, добавьте следующий код в тело тега:

<body onLoad="pageScroll()"> 
0

попробовать что-то вроде этого:

if(size < 300){ 
$(document).scrollTo("#id1"); } 
else if(size > 300 && size < 900){ 
$(document).scrollTo("#id2"); } 
Смежные вопросы