我有一个脚本,将一系列链接放入1帧,并检查其加载时间:
<script type="text/javascript">
$(document).ready(function(){
var array = ['http://www.example1.come', 'http://www.example2.com', 'http://www.example3.com'];
var beforeLoad = (new Date()).getTime();
var loadTimes = [];
$('#1').on('load', function() {
loadTimes.push((new Date()).getTime());
$('#1').attr('src', array.pop());
if (array.length === 0) {
$.each(loadTimes, function(index, value) {
alert(value - beforeLoad);
});
}
}).attr('src', array.pop());
});
</script>
我想将所有值放入表中而不是提醒它们。我的意思是把它们放在这里(创建3x td并在每个中加载加载时间值):
<table>
<tr>
<?php for ($i=0; $i<=2; $i++){ ?>
<td id="loadingtime<?php echo $i; ?>">
<?php } ?>
</td>
</tr>
</table>
答案 0 :(得分:0)
你的PHP循环有点破碎。但这没关系,因为没有必要 - 只需抽出3个TD。
<table>
<tr>
<td id="loadingtime1">
</td>
<td id="loadingtime2">
</td>
<td id="loadingtime3">
</td>
</tr>
</table>
将javascript变量添加到表中的简短方法不是通过PHP。您可以使用$.().html
直接添加它们。
而不是alert(value - beforeLoad);
使用:$("#loadingtime"+index).html(value - beforeLoad);
答案 1 :(得分:0)
你可以在jquery而不是php中做到这一点。
$(document).ready(function(){
var array = ['http://www.example1.come', 'http://www.example2.com',
'http://www.example3.com'];
var beforeLoad = (new Date()).getTime();
var loadTimes = [];
$('#1').on('load', function() {
loadTimes.push((new Date()).getTime());
$('#1').attr('src', array.pop());
if (array.length === 0) {
var table = $('<table><tr></tr></table>');
var tr = table.find('tr');
$.each(loadTimes, function(index, value) {
tr.append('<td>' + (value - beforeLoad) + '</td>');
});
table.appendTo('body');
}
}).attr('src', array.pop());
});