首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在错误中正确注册和入队脚本-问题使脚本正常工作

在错误中正确注册和入队脚本-问题使脚本正常工作
EN

Stack Overflow用户
提问于 2016-03-31 22:30:03
回答 1查看 71关注 0票数 0

我一直在写一个wordpress主题,我在网站中使用了不同的javascript元素。当涉及到Javascript和JQuery时,我是一个新手,所以我将脚本和cdn链接直接插入到Header.php的<head>部分。

当我的一些下拉菜单停止工作时,我意识到它造成了JQuery版本之间的冲突,而且我一直在做错的事情。

因此,我已经学习了关于注册和入队脚本的一切,但没有运气让下拉菜单等重新启动和运行。

你能从我在下面发布的代码中看出是什么导致了这个问题吗?我知道我很有可能犯了一个愚蠢的错误,因为我刚接触它,我只是不能理解它是什么。

这两个片段是网站上两个重复元素的脚本。一个滑出切换框和一个下拉式手风琴框。

Accordion.js

代码语言:javascript
复制
  jQuery(document).ready(function($) {
$( "#accordion" ).accordion({
collapsible: true, active: false
});
$('#accordion2').accordion({collapsible: true, active: false});
 $('#accordion3').accordion({collapsible: true, active: false});

});

Togglebox.js

代码语言:javascript
复制
    jQuery(document).ready(function($) {
    $( ".dropdown" ).click(function() {
  $( ".togglebox" ).toggle( "slide", 1000 );
    });
});

下面的代码片段是我放在Functions.php文件中的代码。

代码语言:javascript
复制
       function my_scripts_method() {
if ( !is_admin() ) {
    wp_enqueue_script('jquery-ui-accordion');
    wp_enqueue_script(
        'custom-accordion',
        get_template_directory_uri() . '/js/accordion.js',
        array('jquery')
        );
    wp_enqueue_script(
    'custom-script',
    get_template_directory_uri() . '/js/tabs.js',
    array('jquery')
    );
    wp_enqueue_script('jquery-ui-toggle');
}
    }

add_action('wp_enqueue_scripts', 'my_scripts_method');

我已经将'accordion.js‘和'togglebox.js’文件保存在本地我正在使用的主题的JS文件夹中。

任何关于这方面的帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-04-01 18:44:49

创建2个JS文件:

  • accordion.js
  • togglebox.js

将这2个文件保存在主题的JS文件夹中。之后,在您的主题的Functions.php文件中注册和排队脚本。

你不需要注册已经包含在Wordpress中的jquery和jquery ui。这里有两个对你有用的链接:

https://developer.wordpress.org/reference/functions/wp_enqueue_script/ https://developer.wordpress.org/reference/functions/wp_register_script/

在Togglebox.js中尝试:

代码语言:javascript
复制
jQuery(document).ready(function($) {
    $( ".dropdown" ).click(function() {
      $( ".togglebox" ).slideToggle( 1000 );
    });
});

在functions.php中尝试:

代码语言:javascript
复制
 wp_enqueue_script('jquery-ui-accordion');
    wp_register_script( 'custom-accordion', get_template_directory_uri() . '/js/accordion.js', array('jquery-ui-accordion'), '1', true );
    wp_enqueue_script( 'custom-accordion' );
    wp_register_script( 'custom-togglebox', get_template_directory_uri() . '/js/togglebox.js', array('jquery'), '1', true );
    wp_enqueue_script('custom-togglebox');

将functions.php中的自定义更改为您的主题的插件。我尝试了这段代码,它对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36336328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档