php / jquery - 从PHP数组打印值,每个值都有第二个延迟

时间:2017-07-14 10:07:59

标签: php jquery arrays

我有一个数组生成的服务器端使用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>

尝试搜索,但无法想办法做到这一点

3 个答案:

答案 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 代码。