我在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?
我该如何解决这个问题?
答案 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后调用该文件。