Я хочу вызвать функцию через одну секунду после полной загрузки страницы
$(window).bind("load", function() { window.setInterval(function(){ your_func(); }, 1000); });
Вызывает каждую секунду.Я хочу, чтобы это было выполнено только один раз
Вы можете использовать $ (document) .ready (); для решения этой проблемы:
$( document ).ready(function() { setTimeout(function() { console.log( "ready!" ); }, 1000); });
Ваше решение работает хорошо, не нужно переходить на готовый документ
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(window).bind("load", function() { setTimeout(function() { console.log('Hey'); }, 1000); }); </script>
Обратите внимание на различия между событиями:
Событие ready наступает послеHTML-документ загружен, а событие onload наступает позже, когда также загружен весь контент (например, изображения).
Вы можете использовать $(document).ready();
$(document).ready();
$(document).ready(function() { setTimeout(function() { your_func(); }, 1000); });