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');
});