自动滚动javascript后重定向
我找到了这个代码,我用它在我的页面上自动滚动一个div 它可以完美地工作,但现在我想添加逻辑,在滚动完成5秒后重定向到url自动滚动javascript后重定向,javascript,Javascript,我找到了这个代码,我用它在我的页面上自动滚动一个div 它可以完美地工作,但现在我想添加逻辑,在滚动完成5秒后重定向到url ScrollRate = 50; function scrollDiv_init() { DivElmnt = document.getElementById('MyDivName'); ReachedMaxScroll = false; DivElmnt.scrollTop = 0; PreviousScrollTop = 0;
ScrollRate = 50;
function scrollDiv_init() {
DivElmnt = document.getElementById('MyDivName');
ReachedMaxScroll = false;
DivElmnt.scrollTop = 0;
PreviousScrollTop = 0;
ScrollInterval = setInterval('scrollDiv()', ScrollRate);
}
function scrollDiv() {
if (!ReachedMaxScroll) {
DivElmnt.scrollTop = PreviousScrollTop;
PreviousScrollTop++;
ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);
}
}
如果我理解正确,滚动完成后,您希望转到其他页面。这样做:
function scrollDiv() {
if (!ReachedMaxScroll) {
DivElmnt.scrollTop = PreviousScrollTop;
PreviousScrollTop++;
ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);
}
else{
clearInterval(ScrollInterval);
setTimeout(function(){
window.location.href = "path/to/your/file";
},5000)//In 5 seconds
}
}
只需将代码替换为
function scrollDiv() {
var ScrollRate = 50;
var DivElmnt = document.getElementById('MyDivName');
var ReachedMaxScroll = false;
var PreviousScrollTop = 0;
divElmnt.scrollTop = 0;
setTimeout(
function () {
if (!ReachedMaxScroll) {
DivElmnt.scrollTop = PreviousScrollTop;
PreviousScrollTop++;
ReachedMaxScroll = DivElmnt.scrollTop >= (DivElmnt.scrollHeight - DivElmnt.offsetHeight);
}
setTimeout(function() {
window.location.replace("http://stackoverflow.com");
}, 5);
},
ScrollRate
);
}
非常感谢,这正是我要找的!你为实现这一目标做了哪些努力?试着理解你使用的代码,这将提高你的水平。谢谢你的评论。下次我会把我试过的写下来。在这种情况下,我被其他{}部分卡住了。我不知道如何停止间歇。通过Zee的回答,我可以搜索有关clearInterval(ScrollInterval)的更多信息;了解发生了什么。