【问题标题】:Call function only once after page load completely页面加载完成后只调用一次函数
【发布时间】:2018-05-10 12:45:53
【问题描述】:

我想在页面完全加载后一秒调用函数

$(window).bind("load", function() {
  window.setInterval(function(){ your_func(); }, 1000);
});

它每秒调用一次。我希望它只执行一次

【问题讨论】:

    标签: jquery function settimeout


    【解决方案1】:

    您可以使用$(document).ready();

    $(document).ready(function() {
      setTimeout(function() { your_func(); }, 1000);
    });
    

    【讨论】:

    • 这只会在页面加载完成时调用一次@KetanKpBorada
    • 你能加“your_func();”吗在您的问题中,我可以更好地帮助您。 @KetanKpBorada
    【解决方案2】:

    您可以使用$( document ).ready(); 解决该问题:

    $( document ).ready(function() {
        setTimeout(function() { console.log( "ready!" ); }, 1000);
    
    });
    

    【讨论】:

    • 您的答案与已发布的@Bhavin 答案有何不同。
    • 是的,奇怪的是与 Bhavin Solanki 的回答相同
    • @Yan,你能告诉我,如何在 IE 或 chrome 浏览器中调试 js、F12 中的 jquery。无法正常调试,不知道如何使用console.log,以及步骤顺序。
    【解决方案3】:

    您的解决方案运行良好,无需更改即可准备好文档

    <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 事件在稍后发生,此时所有内容(例如图像)也已加载。 p>

    【讨论】:

    • 您可以在控制台中看到“嘿”只打印一次@KetanKpBorada
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 2013-12-25
    • 2017-07-21
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    相关资源
    最近更新 更多