我正在尝试清理我的页面,我这样做的一个主要方法是将JavaScript和JQuery函数放入一个名为“scripts.js”的文件中,该文件在页面加载时自动访问。
我遇到了使用php从页面本身调用的函数的问题。例如,以下函数不起作用,实际上“杀死”所有页面的脚本(所以现在应该隐藏的东西不是,并且事情没有正确加载)。我把它缩小到我用来调用变量的事实。我真的希望能够在这个通用文件中保留使用PHP的功能,而不是堵塞HTML模板页面,任何关于如何使这项工作的想法,或者如果不是我怎么能够调用所需的值?如果有帮助,它们总是在渲染之前被提取到页面。
function positiveSelect()
{
var size = <?php echo $idea[0]["size"]; ?> * 1;
if (size > 5)
return true;
else
return false;
}
答案 0 :(得分:4)
如果您无法从DOM本身检索数据,则可以使用相应的对象存储值:
<div data-size=20>
然后用以下内容进行检索:
$(element).data("size");
或者如果你想要存储全局数据,你可以在你的html文档的头部创建一个值“容器”,如下所示:
<script type="text/x-json" class="global-data">{"value1":"1","value2":"2"}</script>
然后阅读该元素的内容并使用JSON.parse
答案 1 :(得分:2)
如果此功能是特定于某个页面的功能,您可能需要添加刚刚在该页面上加载的第二个js脚本。
另一种方法是在该php页面中回显出一个js变量,让你的代码用该变量作为参数调用该函数。
答案 2 :(得分:2)
你可以给javascript一个“.php”扩展名并以相同的方式在脚本中调用它:
<script type="javascript" src="path/to/scripts.php"></script>
答案 3 :(得分:0)
您可以将生成脚本文件命名为scripts.php或scripts.js.php;然后PHP预处理器将处理该文件,并将评估PHP语句。
答案 4 :(得分:0)
将php或任何服务器端语言与javascript混合时,您需要注意在客户端创建javascript文件时,php只执行一次。
这可能是您获得意外结果的原因。当您从一个页面移动到另一个页面时,全局scripts.js中的php片段将不会更新。