在页面加载时自动滚动到div id

时间:2018-05-17 15:04:41

标签: jquery autoscroll

所以我的页面设置了一个介绍部分,经过一段时间后,浏览器自动滚动到一个正常工作的指定div。我想要做的是让它在页面完全加载时运行而不是立即运行。 这是现有的代码,工作正常。

setTimeout(function(){
$(function() {
$('html, body').animate({
scrollTop: $('#myDiv').offset().top}, 2800);
});
},1300);

这就是我试图让它在页面加载而不是立即运行。这完全停止了滚动

$(window).load(function(){
$(function() {
$('html, body').animate({
scrollTop: $('#myDiv').offset().top}, 2800);
});
},1300);

2 个答案:

答案 0 :(得分:0)

你不必将你的滚动函数包装在$(function(){...})中,因为我认为这可能会导致错误

$(window).load(function(){
  $('body').animate({scrollTop: $(‘#myDiv’).offset().top}, 2800);
});

您还可以使用document.ready在DOM成功加载时滚动页面

$(document).ready(function(){
 $('body').animate({scrollTop: $(‘#myDiv’).offset().top}, 2800);
});

答案 1 :(得分:0)

如果不必将内部函数包装到load

此外,您传递给load一个不期望的参数。

让“滚动到div”代码成为'body'事件的处理程序。

最后,只需将动画应用于window或甚至$(window).load(function() { $('body').animate({ scrollTop: $('#myDiv').offset().top}, 2800); } );

foreach((array) $results['result'] as $kay => $result)
{
    ...
}