Jquery刷新php和停止功能

时间:2014-07-03 07:44:01

标签: javascript php jquery

我有问题。我刷新了一个div:

<script type="text/javascript">
    <!--
    $(document).ready(function() {
        $.ajaxSetup({ cache: false }); 
        setInterval(function() {
            $('#refresh').load('call.php');
        }, 3000);
    });
    //-->
</script>

<div id="refresh"></div>

call.php:

<?php $say = 0; ?>

现在一切都好。在javascript if $say=1,我想停止刷新div并打开弹出窗口echo $say;if $say=0,我想继续刷新div。但是不能这样做。有人可以帮我吗?

编辑: 我已经通过

获得变量($ say)
var say="<?php echo $say; ?>"; 

(在同一页面)

我有一个新问题...... 代码:     

    var theRefresh = setInterval(function() {
        $('#refresh').load('call.php');


        checkValue();
    }, 3000);

     function checkValue(){
             var sayi = <?php echo $say; ?>;
        if(sayi==1){

           clearInterval(theRefresh);

        }

     }

});

//--></script>

在call.php中:

<?php 


$say=1;

 ?>

但是javascript没有从call.php获得$say。 我想从call.php文件获取价值到javascript 谢谢..

2 个答案:

答案 0 :(得分:0)

只需创建一个检查#refresh div中值的函数。假设你实际上将$ say值回显到该div。

$(document).ready(function() {
    $.ajaxSetup({ cache: false }); 

    var theRefresh = setInterval(function() {
        $('#refresh').load('call.php');
        checkValue();
    }, 3000);

     function checkValue(){
        var say = $('#refresh').html();
        if(say==1){
           clearInterval(theRefresh);
        }
     }

});

答案 1 :(得分:0)

使用https://code.google.com/p/jquery-timer/

代码未经测试

首先纠正你的php输出内容:

<?php echo $say = 0; ?>  

然后:

var timer = $.timer(function() {
    refresh();
}, 3000, true);

function refresh()
{
    $.ajax({
      url: "call.php",
      cache: false
    })
      .done(function( html ) {
        if(html == "1")
        {   
            timer.pause();      
            // here pop up code
            alert(html); 

        }
        else
        {
         $('#refresh').html(html);
         timer.play();
        }
    });
}