Автоматическая прокрутка до div id при загрузке страницы - PullRequest
0 голосов
/ 17 мая 2018

Итак, моя страница настроена на вводный раздел, и по истечении заданного времени браузер автоматически прокручивает до указанного элемента 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 голосов
/ 17 мая 2018

Если не нужно заключать внутреннюю функцию в $(function(){...})

Кроме того, вы передаете load параметр, который не ожидается.

Просто позвольте коду "scroll to div" быть обработчиком события load.

Наконец, просто примените анимацию к 'body' или даже просто window

$(window).load(function() {
    $('body').animate({
    scrollTop: $('#myDiv').offset().top}, 2800);
} );
0 голосов
/ 17 мая 2018

Вам не нужно переносить свою функцию прокрутки в $ (function () {...}), потому что я думаю, что это может вызвать ошибку

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

Вы также можете использовать document.ready, чтобы прокрутить страницу, когда DOM успешно загрузился

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