> 백엔드 개발 > PHP 튜토리얼 > php中,用echo调用JS函数,有什么问题?

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

WBOY
풀어 주다: 2016-06-23 14:13:53
원래의
1076명이 탐색했습니다.

     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放到文件末尾看看

谢谢大家,已经弄明白了  

请问你是怎么解决的?

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿