Rumah > pembangunan bahagian belakang > tutorial php > php调用js定时器问题。

php调用js定时器问题。

WBOY
Lepaskan: 2016-06-23 14:06:36
asal
949 orang telah melayarinya

test.js代码如下:
var i = 0;
function fun()
{
 document.write(i);
 document.write("\n");
 i++;
}
function JavaTime()
{
setInterval('fun()',2000);
}


test.php代码如下:
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档

<script></script>

echo "<script>JavaTime();</script>"

?>




为什么js定时器只执行一次,然后浏览器一直处于这个状态:
只显示0,然后浏览器一直在转。。。


回复讨论(解决方案)

我也不怎么懂JS。换成alert(i)数字就会变化,奇怪了。

楼主,你换个不是IE内核的浏览器试试,比如chrome内核的,可以得到你想要的效果,但是换行不是\n而是
[img=http://][/img]

效果

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script type="text/javascript">function JavaTime(){    var icolor=0;    var iNum=256;    setTimeout(fun, 1000);    function fun()    {            document.write(icolor);            document.write('<br/>');            icolor++;            setTimeout(fun, 1000);                    }}</script></head><body><?phpecho "<script language='JavaScript' type='text/javascript'>JavaTime();</script>";?></body></html>
Salin selepas log masuk

你这么写看看。我测过没有问题。

楼上说行的,都是在胡说!
当页面加载完成时,页面的载体 document 将被关闭
之后的 document.write 将在新的 document 中写
尽管非 ie 系列的浏览器只将 body 节点作为 document 的根,表面上 js 依然被执行了,但是 body 中原来的内容都不复存在了

因此只要是页面加载完成后才执行的 js,都只能用 innerHTML、innerText 操作页面内容或以 alert 显示信息

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan