【问题标题】:jQuery tabs is loaded but not working in WordPressjQuery 选项卡已加载但无法在 WordPress 中运行
【发布时间】:2023-04-10 21:22:01
【问题描述】:

我正在尝试在 WordPress 中使用 jQuery UI 选项卡,但我不断收到“jQuery("#").tabs is not a function”错误。

我认为标签文件可能没有加载,但在萤火虫中显示它正在加载。我也在使用modernizr,所以我认为可能有冲突,但使用 jQuery.noConflict();也没有解决问题。起初我曾经加载 jQuery,但由于某种原因它不起作用。现在我只是直接链接到文件并且它们正在加载。

如果有帮助,我正在尝试让标签为this tutorial 工作。我工作的网站是lbk.newcoastmedia.com/wordpress

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery wordpress jquery-ui


    【解决方案1】:

    我看到您的页面上正在加载以下脚本:

    modernizr-1.6.min.js
    l10n.js
    jquery.js
    galleria.js
    

    <script type="text/javascript"> 
    jQuery(document).ready(function($){
        $("#photo-rotator").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 4000);
    });
    </script> 
    

    $.tabs 是 jQuery UI 的扩展,我没有看到 jQuery UI 在您的页面上加载的选项卡扩展。查看源代码的最底部at your link,您会看到以下两个脚本,我相信这就是您所缺少的。

    ui.core.js
    ui.tabs.js
    

    您的调试器提醒您$.tabs 不是一个方法,因为它实际上还没有被定义。

    【讨论】:

    • 您确定它们没有加载吗?这是一个屏幕截图,显示了我在查看 firebug i.imgur.com/pzU7G.png 时得到的结果
    • 哦,所以它们是动态加载的。你说得对;我也在 Chrome 控制台中看到它们。我将查看是否所有内容都以正确的顺序加载——jQuery、jQuery UI、jQuery UI 小部件、jQuery UI 选项卡、$(document).ready()——所以我认为问题出在此处或事实上,jQuery 加载了两次,一次是 v1.4.4,一次是 v1.6.1。
    • 其实我觉得你可以直接调用jQuery.noConflict()或者$.ui.tabs()来解决
    • 好吧,我已经尝试过 noConflict 并且没有成功。问题是,本教程设置为 wp 主题。如果我安装该主题,它就可以正常工作,但是当我将代码复制到我的主题时它会中断。
    【解决方案2】:

    刚刚在 Drupal 上遇到了这个问题,并通过下载带有选项卡的 jQuery UI 库的自定义构建来解决它。显然 Drupal 附带的默认 jQuery UI 库没有这个模块,所以也许 WP 也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-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
      相关资源
      最近更新 更多