基于scrollTop()的自动滚动

时间:2012-05-11 09:26:15

标签: jquery

我仍然试图抓住这些东西,所以一些帮助将不胜感激

我有5个div设置为高度基于$(窗口)。高度()
我已为每个div设置了唯一ID

我有一些vars设置

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

我想做的是让查询根据窗口的50%滚动窗口到每个ID。无论哪种方式

即。窗户高度600px
小于300px scrollTo#id1
大于300px但小于900px scrollTo#id2
等等,但只是经过一小段时间后

我知道如果我使用
.scrollTop()与第一个div#ID1组合 它会显示从页面顶部滚动的像素

我如何把它放在一起让我挠头!

3 个答案:

答案 0 :(得分:2)

使用JavaScript scrollBy setTimeout 方法自动向下滚动网页。更改超时值以更改滚动速度(以毫秒为单位)。

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

要在页面加载时自动滚动,请将以下代码添加到body标签:

<body onLoad="pageScroll()">

答案 1 :(得分: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) 
}

答案 2 :(得分:0)

尝试这样的事情:

if(size < 300){
$(document).scrollTo("#id1"); }
else if(size > 300 && size < 900){
$(document).scrollTo("#id2"); }