Javascript 如何动态更新网页的不同部分?

Javascript 如何动态更新网页的不同部分?,javascript,jquery,html,Javascript,Jquery,Html,我有一个脚本,更新我的网站的信息,它加载的日期从另一个网页每秒钟,与此我可以在我的网站上有一个时钟,随时更新。然而,我想做同样的事情,但与我的网站的另一部分 这是我目前使用的代码: <script type="text/javascript" charset="utf-8"> $(document).ready(function() { $("#myDiv").load("response.php"); var refreshId

我有一个脚本,更新我的网站的信息,它加载的日期从另一个网页每秒钟,与此我可以在我的网站上有一个时钟,随时更新。然而,我想做同样的事情,但与我的网站的另一部分

这是我目前使用的代码:

<script type="text/javascript" charset="utf-8">

    $(document).ready(function() 
    {
        $("#myDiv").load("response.php");
        var refreshId = setInterval(function() 
        {
            $("#myDiv").load('time.php');
        }, 1000);
    });

</script>

$(文档).ready(函数()
{
$(“#myDiv”).load(“response.php”);
var refreshId=setInterval(函数()
{
$(“#myDiv”).load('time.php');
}, 1000);
});
然后当我要显示我使用的时间时:

 <div id="myDiv"> </div>

那么我如何在我网站的另一部分使用它呢?编写脚本并将“#myDiv”更改为类似于“#myDiv2”的其他内容是明智的,还是有其他方法可以在同一脚本中执行

我想知道这种情况下的最佳做法

谢谢你抽出时间

$("#myDiv").load("response.php");
$("#myDiv2").load("response2.php");
var refreshId = setInterval(function() 
{
    $("#myDiv").load('time.php');
    $("#myDiv2").load('time2.php');
}, 1000);

我认为这样应该行得通。

就我个人而言,我更喜欢陈述式风格,所以

HTML:

这种方法意味着识别页面更新的所有信息都存在于HTML中,这样(希望如此!)当您只需查看视图以确定将发生什么时,就可以更容易地对页面进行推理。它还使向其他页面添加功能变得更加容易,因为只需要应用相同的标记。

一般来说:
这里的最佳实践是将代码存储在外部js文件中,并将其加载到您需要的每个页面上

对于显示时间的元素(并使用从load.php返回的标记):
当页面加载并在函数中收集此功能时,您可以使用jQuery插入#myDiv元素,如下所示:

$(document).ready(function() {
    function insert_time_element(id) {
        // Cache the variables. See jQuery best practices
        var $myDiv = $(document).append('<div id="' + id + '"></div>');

        // Your code (slighty altered):
        // Could also be cached.
        $myDiv.load("response.php"); 
        var refreshId = setInterval(function() {
            $myDiv.load('time.php');
        }, 1000);
    }

    insert_time_element('myDiv');
});
$(文档).ready(函数(){
函数插入\时间\元素(id){
//缓存变量。请参阅jQuery最佳实践
var$myDiv=$(文档).append(“”);
//您的代码(稍有改动):
//也可以缓存。
$myDiv.load(“response.php”);
var refreshId=setInterval(函数(){
$myDiv.load('time.php');
}, 1000);
}
插入时间元素(“myDiv”);
});

对于jQuery的最佳实践,请阅读关于jQuery最佳实践的NetTuts+文章:

@ragebunny:调用页面只是为了有时间并不是一个好的实践,我会说最好只花一次时间,然后使用javascript添加经过的时间。这是不可能的吗?@netadictos是的,这是有道理的。谢谢。@piskvor我通过代码和粘贴原始文件来实现它,但更改了div,现在它可以工作了,因为它是一个新函数,但我想知道它是否是一个好的做法,或者是否有更好的方法来实现它。时间可以用JS来完成,但另一部分需要不断地从数据库中刷新。这是一个好主意,要始终记住,这只对HTML5进行验证(我指的是W3CHTML验证)。
$('[data-update]').each(function() {
  var self = $(this);
  var target = self.data('update');   
  var refreshId =  setInterval(function() { self.load(target); }, self.data('refresh-interval'));
});
$(document).ready(function() {
    function insert_time_element(id) {
        // Cache the variables. See jQuery best practices
        var $myDiv = $(document).append('<div id="' + id + '"></div>');

        // Your code (slighty altered):
        // Could also be cached.
        $myDiv.load("response.php"); 
        var refreshId = setInterval(function() {
            $myDiv.load('time.php');
        }, 1000);
    }

    insert_time_element('myDiv');
});