jquery settimeout函数

时间:2012-08-24 01:08:35

标签: jquery

我尝试学习ajax-php配置背后的魔力,以便我尝试通过php实现像时钟这样的代码。但是,似乎我仍然缺少一些东西。这是我到目前为止所做的。

HTML(单击时启动时钟)

<div id="bu" onclick="clock()">asccasascascsc</div>

JS

<script type="text/javascript">
 var a = 0;
 function clock() {



     $.ajax({
        type: "GET",
        url: "asd.php",
        data: {  
                'p':a
              },
        dataType: "json",
        cache: false,
        success: function(data) {

            $('#bu').html(data.p);
           setTimeout (clock    (),10000 );
        },
    });

}

 </script>

在这里我想用整数1替换“bu”并创建一个循环以每1秒增加一个数字。我知道setTimeout函数只能工作一次(我是一个骗子从我读的地方:) :)但我每次都在调用它。

PHP(asd.php)

<?php
$asd = $_GET['p'];
$asd++;
$data = array();

$data['p'] = $asd;


echo json_encode($data);
?>

PHP是我增加部分的地方。

那么,为什么它不起作用?我只看到1但没有更多。 注意:我很新,你可以看到:)

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

<script type="text/javascript">
var a = 0;

function clock() {
    $.ajax({
        type: "GET",
        url: "asd.php",
        data: {'p': a},
        dataType: "json",
        cache: false,
        success: function(data) {
            a = data.p;

            $('#bu').html(data.p);

            setTimeout(clock, 10000);
        },
    });
}
</script>

如果您想提高$('#bu')值,则需要增加a,这是每次ajax rquest之后填充$('#bu').html()的内容。