1

我仍在努力掌握这些东西,因此将不胜感激

我有 5 个 div 的所有高度都基于 $(window).height()
我已经为每个 div 设置了一个唯一的 ID

我有一些 vars 集

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

我想要做的是让查询基于 window.height 的 50% 将窗口滚动到每个 ID

即窗口高度 600px
小于 300px scrollTo #id1
大于 300px 但小于 900px scrollTo #id2
等,但只有在一小段延迟之后

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

我如何将它们放在一起让我摸不着头脑!

4

3 回答 3

2

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

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

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

<body onLoad="pageScroll()">
于 2012-05-11T09:35:41.530 回答
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) 
}
于 2012-05-11T09:40:52.313 回答
0

尝试这样的事情:

if(size < 300){
$(document).scrollTo("#id1"); }
else if(size > 300 && size < 900){
$(document).scrollTo("#id2"); }
于 2012-05-11T09:36:21.200 回答