我正在尝试创建一个简单的ajax加载测试脚本,它动态创建div,运行外部php脚本并将结果返回给创建的div。
我正在试图弄清楚如何创建一个创建的for循环,例如10个div并运行所有div的php脚本。最好是我可以指定要运行的脚本。
这是到目前为止的代码。它可以工作,但目前只创建了一个div。
<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<style>
.running { background-color: yellow; }
.completed { background-color: green; }
}
</style>
<script>
function RunScripts() {
// Create a new div
$('#container').append('<div id="div1" class="running"></div>');
// Run a php script and return the content
$.get("getcontent.php",
function(data){
$('#div1').html(data);
$('#div1').removeClass('running').addClass('completed');
}
);
}
</script>
</head>
<body>
<a onclick="RunScripts();">Run test</a>
<div id="container"></div>
</body>
</html>
如何改进脚本以便它可以同时创建和运行多个脚本?
答案 0 :(得分:1)
您可以使用setTimeout
来运行函数的多个实例,即
setTimeout('RunScripts()', 0);
setTimeout('RunScripts()', 10); //Run again after 10ms.
也许这可以帮到你?
您还必须创建新的div,以便不覆盖响应数据,例如:
// Create a new div
var $div = $('<div>')
.addClass('running')
.appendTo('#container');
// Run a php script and return the content
$.get("getcontent.php",
function(data){
$div.html(data);
$div.removeClass('running').addClass('completed');
}
);