从php调用js文件

时间:2017-02-22 20:35:32

标签: javascript php jquery osclass

我在webhost上的以下路径中有一个名为menu.js的js文件

的public_html / OC-内容/主题/ bender_black / JS

$(document).ready(function(){
$("#nav-mobile").html($("#nav-main").html());
$("#nav-trigger span").click(function(){
    if ($("nav#nav-mobile ul").hasClass("expanded")) {
        $("nav#nav-mobile ul.expanded").removeClass("expanded").slideUp(250);
        $(this).removeClass("open");
    } else {
        $("nav#nav-mobile ul").addClass("expanded").slideDown(250);
        $(this).addClass("open");
    }
});

此代码是一个响应式菜单,我希望它能在我的所有页面上得到回报。因此,我试图从我的header.php文件中调用它,该文件位于

的public_html / OC-内容/主题/ bender_black

以下是我在header.php

中的部分内容
<head> 
<script type="text/javascript" src="js/menu.js"></script>
</head>

菜单应该在较小的屏幕上释放下拉菜单,但没有任何反应。我是否正确地调用了js?

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

浏览器会加载放置在浏览器中的脚本标记。因此,您需要提供js文件的DocumentRoot相对路径

<script type="text/javascript" src="oc-content/themes/bender_black/js/menu.js"></script>

答案 1 :(得分:0)

它需要绝对路径,如:

<script type="text/javascript" src="http://mywebsite.com/oc-content/themes/bender_black/js/menu.js"></script>

但在Osclass案例中,您可以通过内部PHP函数注册javascripts,如下所示:

注册脚本:

osc_register_script('menu', osc_current_web_theme_url('js/menu.js'), 'jquery');

入队:

osc_enqueue_script('menu');

如果它使用jQuery,请确保在调用jQuery后调用该文件。