2016-09-19 51 views
0

对不起,如果这是一个基本的问题,但我无法搞清楚如何在我的网站使用JavaScript/jQuery脚本。 (如果这是有据可查的,我只是不知道正确的条款,请分享给寻找什么 - 我与我所知道的没有运气尚未在线)的JavaScript在WordPress的响应菜单

我已经设计了一个网站用静态页面,它只是没有博客。因此,我将Wordpress放入其中一个页面,并找出如何使用header.php和footer.php文件为我现有网站的菜单添加HTML/CSS设计。然而,我的jQuery脚本,应该加载页面大小,以改变菜单设计无法正常工作。

我粘贴<script type="text/javascript" src="jquery.min.js"></script>代码中的文件的<head>部分,调节所述主体标签<body onresize="myFunction()" <?php body_class(); ?>>,并添加了“myFunction的”脚本的footer.php文件时,</body>标签的上方。以上function myFunction() {我也有window.onload=myFunction();这也不起作用 - 所以无论页面加载的大小是多少,或者它更改为菜单的大小都没有响应。

当我尝试添加入队的代码块给它完全打破了网页的functions.php文件,给一个500错误。

任何意见将非常感激!路径指定了jQuery库

+0

你可以发布你的代码吗? – spozun

回答

1

检查是正确的。在您的脚本标记src="jquery.min.js是一个相对路径。这意味着文件jquery.min.js与您的html/php /模板根据您的src路径位于相同的目录中。

我会推荐使用CDN。你不会有相对路径,需要加载你的jQuery文件,并且如果其他页面/站点加载了相同的文件,你将从浏览器缓存中受益。

3倍

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

2X

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
+0

哈哈,哦,好的电话。我注意到了,并在与php文件相同的文件夹中创建了一个新的jquery.min.js文件,但是当我尝试了您的建议后,它现在可以正常工作。不知道为什么它不读取服务器上的文件,非常感谢您的建议! –

+0

很高兴工作!您的WP页面的路径可能与静态网站不一样......这就是为什么即使js位于同一文件夹中,路径也不同。 – mhatch

1

当您添加资源,如scrips和样式表到WordPress,你应该使用功能wp_enqueue_script()wp_enqueue_style()排队它们。

这样做可以确保您的scirpt/style仅包含一次,允许您声明依赖关系,并且(在脚本的情况下)允许您在需要/愿望时将其添加到页脚。

你可以找到关于法典这些功能的详细信息 -

与这些功能一起,你应该使用wp_enqueue_scripts行动,以确保您的脚本样式会在正确的时间排队。

因此,例如,您应该在您的functions.php文件中放置与此类似的内容。因为jQuery已经存在于WP中,所以你甚至不需要指定一个位置,你只需告诉WP你想排队它 -

add_action('wp_enqueue_scripts', 'my_enqueue_jquery'); 
function my_enqueue_jquery(){ 
    wp_enqueue_script('jquery'); 
}