Javascript 从PHP调用JS函数不起作用
使用用户在前一个问题中推荐的方法,我只使用一个文档(index.php)来显示不同的内容,而不是为每个文档创建一个文件 代码如下: HTML PHPJavascript 从PHP调用JS函数不起作用,javascript,php,html,Javascript,Php,Html,使用用户在前一个问题中推荐的方法,我只使用一个文档(index.php)来显示不同的内容,而不是为每个文档创建一个文件 代码如下: HTML PHP 更多信息(); 那不行。但是如果我改变更多信息()用于: <script> $(document).ready(function(){ $('#index').hide(); $('#quienes-somos').show(); }); </script> $(文档)
更多信息();
那不行。但是如果我改变更多信息()代码>用于:
<script>
$(document).ready(function(){
$('#index').hide();
$('#quienes-somos').show();
});
</script>
$(文档).ready(函数(){
$('#index').hide();
$('quienes somos').show();
});
它起作用了。这是为什么?看起来您遇到的问题是因为您在函数中定义了more\u info函数。这将使它脱离全局范围,而全局范围将不会使该函数在任何地方都可访问,除非在准备文档的函数内部
//more_info is now available globally
function more_info(){
$('#index').hide();
$('#more_info').show();
}
$(document).ready(function(){
//document ready code here
});
当您从PHP输出JS函数时,这将使更多的信息执行。另外值得注意的是,由于您没有在ready上执行函数,因此需要确保html可供JS修改。通常最好的做法是将所有JS放在结束标记之前。这将确保您的html尽快加载,并且您的JS将始终能够访问您试图编辑的html。使用head标记中的JS,您需要确保在正确的时间使用以下命令调用JS:
$(function() {
});
或
或
所有这些方法在页面初始化期间的不同时间执行。当JS位于head标签中时,浏览器需要将所有JS下载到客户端,然后才能开始呈现HTML,这也会增加访问站点和实际查看站点之间的时间
<script>
$(document).ready(function(){
$('#index').hide();
$('#quienes-somos').show();
});
</script>
//more_info is now available globally
function more_info(){
$('#index').hide();
$('#more_info').show();
}
$(document).ready(function(){
//document ready code here
});
$(function() {
});
$(document).ready(function() {
});
$(window).load(function() {
});