我有一个数组生成的服务器端使用PHP例如。 array("one", "two", "three")
并希望在网页上显示结果。
我不想只是循环并打印它们,而是希望使用jquery延迟打印每一个。
setInterval(function(){
// how do i grab and show php array value?
$('#log').append(ARRAY VALUE);
}, 1000);
<span id=log></span>
尝试搜索,但无法想办法做到这一点
答案 0 :(得分:0)
取决于你如何获得阵列:)
但你可以这样做:
PHP
<?php
$array = [1, 2, 3];
HTML
<span class="hidden" id="phpArr" data-values="<?php echo json_encode($array); ?>"></span>
JS
var array = $('#phpArr').data('values');
array = $.parseJSON(array);
array.each(function(i, v)
{
setTimeout(function() {$('#div').append(i)}, 1000)
})
这样做是通过数组进行循环并将其附加到id为div且具有第二延迟的div。
答案 1 :(得分:0)
您也可以简单地使用以下内容。
<div id="log" style="display:none">
// Generate your output with php code
</div>
内部文件。在n秒后显示。
$(document).ready(function(){
setInterval(function(){
$('#log').show();
}, 1000);
});
如果不起作用,请告诉我
答案 2 :(得分:0)
请遵循此代码。
Php代码:
<?php
$_temparray = ["one", "two", "three"];
?>
HTML code:
<span id=log></span>
Javascript代码:
<script>
var temp_data= '<?php echo implode(",",$_temparray); ?>';
var split_data = temp_data.split(',');
for(var i=0;i<split_data.length;i++){
displayMessage(split_data[i]);
}
function displayMessage(val){
setInterval(function(){
$('#log').append(val);
//console.log(val);
},1000);
}
</script>
这件事在逻辑上是不可能的。一般来说,这不是建议 能够混合 PHP 和 javascript 代码。