【问题标题】:Javascript $(function() Not Working for WordPressJavascript $(function() 不适用于 WordPress
【发布时间】:2013-02-27 04:30:11
【问题描述】:

好的,我正在尝试在我的 wordpress 网站的 header.php 文件中添加以下 jquery:

<script type="text/javascript">
    $(function() {

        $( '#co-slider' ).circleslider()


        });     
    </script>

这是直接从我下载的 html 源文件中复制的,我花了过去 3 个小时试图得出这个问题的结论,但是当谈到 wordpress 时,我是个新手。到目前为止,我所能收集到的只是这可能是因为没有冲突模式。我尝试在这里阅读没有冲突http://api.jquery.com/jQuery.noConflict/ 以及我认为与另一个问题相关的以下说明,这是jquery not working in wordpress 的链接。另外我认为这不是问题,但这就是我引用我的 javascript 的方式。

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/staff_new/js/jquery.circleslider.js"></script><script type="text/javascript" src="<?php bloginfo('template_url'); ?>/staff_new/js/jquery.circleslider.js"></script>

我说我不认为这是问题,因为这也是我在其他事情上也有它的方式,而且它们工作得很好,但我也可能对我在说什么一无所知。我还在这里阅读了http://codex.wordpress.org/Function_Reference/wp_enqueue_script 以供参考,我应该使用 wp enqueue。但我也读到我目前拥有它的方式工作得很好。任何帮助将不胜感激,因为我真的很想让这个网站工作。

干杯

【问题讨论】:

标签: javascript jquery wordpress


【解决方案1】:

这是因为默认情况下,wordpress 会将 jQuery 加载到 jQuery 命名空间,而不是 $。所以你可以将$改为jQuery,或者,做我通常做的事,在你的jQuery代码之前引用jQuery:

var $ = jQuery;

【讨论】:

  • kennypu,我按照 Rab 在下面所说的进行了尝试,但仍然没有运气......他还发布了一个有一些建议的链接,尝试了这些并得到了相同的结果。你介意看看我对他的最后评论并更深入地了解一下吗,我发布了指向我正在处理的页面和演示的链接。您也可以在那里下载演示的源文件。
  • 它会在浏览器中告诉你:jQuery is not defined 这意味着当你执行代码时,jQuery 还没有定义;换句话说,您试图在加载 jquery 之前加载代码。将您的代码放在页脚中,它应该可以工作。
  • 好的,我现在可以让它工作了,把它移到页脚,现在我想我只是有一个 css 问题,但现在效果实际上正在移动。感谢您的帮助。
【解决方案2】:

你可以让一切正常工作

    jQuery(function($) {
    $( '#co-slider' ).circleslider()
    }); 

在 WordPress 中,$() 语法总是被其他脚本库使用, 并导致冲突问题,无法调用 jQuery 函数。 你应该使用 jQuery() 代替......

或者,您可以使用noConflict() ...

【讨论】:

  • Rab,首先感谢您的回复,我尝试了您建议的所有方法,但仍然没有运气。或者,我访问了您发布的链接并尝试了那里的建议。仍然没有运气,您介意更深入地了解一下吗?这是我试图让它在rightbraingroup.com/staff-2上工作的页面的链接,我正在尝试完成的演示的链接在这里tympanus.net/codrops/2012/08/26/…它位于页面底部,就在cmets之前图片背景中的日期为 2/7/12
  • 好的,像这样window.onload = function() { //your code };
  • 好的,我现在可以正常工作了,有人指出 libray 没有定义,所以它没有加载,所以他们建议把它移到页脚。我做到了,现在我想我只是有一个 CSS 问题,但效果实际上正在发生变化。感谢您的帮助。
  • @RabNawaz 我不能和 kennypu 一起检查你的答案,但是在我把它放在页脚之后,我仍然不得不用 jQuery 替换 $。所以再次感谢您的帮助。干杯!
猜你喜欢
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多