Home >Backend Development >PHP Tutorial >php中,用echo调用JS函数,有什么问题?

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

WBOY
WBOYOriginal
2016-06-23 14:13:531074browse

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

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

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


回复讨论(解决方案)

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

div->js ->php echo jscode.

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

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

<script>show_div();</script>

你觉得它会执行什么?

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

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

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

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

抱歉,打错字了。

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

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

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

echo 'hello word!';

}
?>

这个作何解释?

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

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

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

show();
function show()
{

echo 'hello word!';

}
?……

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

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

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

show();
function show()
{

echo 'hello word!';

}
?……

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

谢谢大家,已经弄明白了  

请问你是怎么解决的?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn