+ -
当前位置:首页 → 问答吧 → php中,用echo调用JS函数,有什么问题?

php中,用echo调用JS函数,有什么问题?

时间:2011-11-22

来源:互联网

<?php
  echo "<script>show_div();</script>";
?>

js函数:
function show_div(){
  document.getElementById("show").style.display="block";
}

//div 是隐藏的,想通过php调用JS的函数把div显示出来

作者: wolfknight00   发布时间: 2011-11-22

调用当然没问题,你需要注意的是 js 函数的代码必须在 echo 之前输出就可以了.而你的id=show 的div 要在js 代码之前输出

div->js ->php echo jscode.

作者: PhpNewnew   发布时间: 2011-11-22

php->div->js 这样的顺序有可能实现吗?如果我把php放在最后又会对别的功能有影响...

作者: wolfknight00   发布时间: 2011-11-22

php 输出调用js 的时候 div 和 js 代码都没有存在 它怎么执行? 
这不等于你在页面上直接打上

<script>show_div();</script>

你觉得它会执行什么?

作者: PhpNewnew   发布时间: 2011-11-22

为什么我用echo "<script>setTimeout('show_div()',10);</script>";
div 能显示出来?

直接用echo "<script>show_div();</script>";
的时候就不行,他们区别在哪?

作者: wolfknight00   发布时间: 2011-11-22

页面执行是从上到下的。。你把div和js函数放到PHP页面就可以了。

setTimeout('show_div()',10) 
意思过10毫秒秒后调用show_div()函数。这个时候DOM自然也就加载完了。

作者: jordan102   发布时间: 2011-11-22

抱歉,打错字了。

你把div和js函数放到PHP页面就可以了。
  ==》
你把div和js函数放到PHP代码上面就可以了。

作者: jordan102   发布时间: 2011-11-22

引用 5 楼 jordan102 的回复:
页面执行是从上到下的。。你把div和js函数放到PHP页面就可以了。

setTimeout('show_div()',10)
意思过10毫秒秒后调用show_div()函数。这个时候DOM自然也就加载完了。

<?php
show();
function show()
{

echo 'hello word!';

}
?>

这个作何解释?

作者: zhaojunwww   发布时间: 2011-11-22

我们在讨论的是 div 和 js 在php里的输出执行,不是讨论php的函数,请看清楚.
照你这逻辑的话 就直接在php里写js 好了.

引用 7 楼 zhaojunwww 的回复:

引用 5 楼 jordan102 的回复:
页面执行是从上到下的。。你把div和js函数放到PHP页面就可以了。

setTimeout('show_div()',10)
意思过10毫秒秒后调用show_div()函数。这个时候DOM自然也就加载完了。

<?php
show();
function show()
{

echo 'hello word!';

}
?……

作者: PhpNewnew   发布时间: 2011-11-22

解释啥? 你这个是php, 楼上是js/html

引用 7 楼 zhaojunwww 的回复:

引用 5 楼 jordan102 的回复:
页面执行是从上到下的。。你把div和js函数放到PHP页面就可以了。

setTimeout('show_div()',10)
意思过10毫秒秒后调用show_div()函数。这个时候DOM自然也就加载完了。

<?php
show();
function show()
{

echo 'hello word!';

}
?……

作者: helloyou0   发布时间: 2011-11-23

估计是你的echo 在JS之前输出了··那个时候show_div 函数还没执行··,你延时10秒,页面加载完成,JS函数自然就有了
你把ECHO放到文件末尾看看

作者: bercmisir   发布时间: 2011-11-23

相关阅读 更多