【问题标题】:Set Interval Function on php [duplicate]在php上设置间隔函数[重复]
【发布时间】:2016-07-25 23:44:17
【问题描述】:

我在 php 页面中有以下代码

<script type="text/javascript">
        $(document).ready(function() {
            setInterval(function () {
                $('#show').load('job-notification.php')
            }, 1000, true);


        });
    </script>

ID 为 #show 的 Div 显示来自 job-notification.php 的数据

每 1 秒从工作通知中重新加载数据。

如果我将时间设置为“10000”(10 秒),那么当页面首次加载时,显示 div #show 需要 10 秒。我们如何在加载时显示它,然后每 10 秒从 job-notification.php 重新加载数据

工作通知包含记录集和数据值。

【问题讨论】:

  • 只需调用页面即可。然后在第一次加载完成时设置函数。
  • 我在这方面很弱,你能帮我写代码吗? -@codeninja

标签: php jquery


【解决方案1】:

在进入 setInterval 之前添加一个额外的调用

<script type="text/javascript">
    $(document).ready(function() {
    $('#show').load('job-notification.php');
        setInterval(function () {
            $('#show').load('job-notification.php')
        }, 1000, true);


    });
</script>

【讨论】:

    【解决方案2】:

    你有这个:

    <script type="text/javascript">
            $(document).ready(function() {
                setInterval(function () {
                    $('#show').load('job-notification.php')
                }, 1000, true);
    
    
            });
        </script>
    

    为什么不直接改变它,让区间内的第二个加载进入第一个加载函数,作为一个参数(完整参数):

    <script type="text/javascript">
            $(document).ready(function() {
               $('#show').load('job-notification.php', setInterval(function () {
                    $('#show').load('job-notification.php')
                }, 1000, true));  
            });
        </script>
    

    这样,一旦第一次加载完成,在第一次加载函数的完整参数上,将调用设置的间隔,并在此处和之后完成。此处的文档:http://api.jquery.com/load/#callback-function

    【讨论】:

    • 这其中哪一个好?我糊涂了?这会更快更好,消耗更少的带宽。 - @codeninja
    • 它们将消耗相同的带宽。因为无论代码如何,都会有相同数量的http requests。我个人会使用我的方式,因为它是 jQuery 的工作方式,通过链接东西。一旦我完成了第一次调用,就会有一个名为 complete 的参数,它是可选的,在该参数中您可以添加一个回调函数,这意味着您可以执行一段代码来做某事,在这种情况下,setInterval .
    【解决方案3】:

    如果我的解释正确,您想在页面加载时调用该函数,然后每 10 秒调用一次。为此,您可以首先定义函数,调用它,然后设置间隔。像这样:

    <script type="text/javascript">
        $(document).ready(function() {
            function loadNotifications() {
                $('#show').load('job-notification.php');
            }
            loadNotifications();
            setInterval(
                function() {
                    loadNotifications();
                },
                1000,
                true
            );
        }
    </script>
    

    使用此方法,您将不会有任何代码重复。

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 2018-06-26
      • 1970-01-01
      • 2019-04-15
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多