【问题标题】:call js file from php从php调用js文件
【发布时间】:2017-02-22 20:35:31
【问题描述】:

我的虚拟主机上的以下路径中有一个名为 menu.js 的 js 文件

public_html/oc-content/themes/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-content/themes/bender_black

这是我在 header.php 中放入的部分内容

<head> 
<script type="text/javascript" src="js/menu.js"></script>
</head>

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

我该如何解决这个问题?

【问题讨论】:

  • 我该如何解决这个问题?到底是什么坏了?
  • 请再看一遍,我已经编辑了帖子
  • 没有任何错误,我只能告诉你:“你忘记包含 jQuery 了吗?”

标签: javascript php jquery osclass


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    它需要像这样的绝对路径:

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

    但在 Osclass 的情况下,您可以通过内部 PHP 函数注册 javascript,如下所示:

    注册脚本:

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

    入队:

    osc_enqueue_script('menu');
    

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

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      相关资源
      最近更新 更多