我有问题。我刷新了一个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
谢谢..
答案 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();
}
});
}