JQuery函数在WordPress中不起作用,但在jsfiddle中起作用

时间:2017-11-05 作者:Tony Garand

编辑-此问题已解决感谢您的帮助,在以下建议未能解决问题后,我刷新了浏览器现金,现在我的功能正常。。。然而,我后来意识到他们只在主页上工作。为此创建单独的线程。谢谢你的帮助!!!

新线程在这里jQuery functions only work on homepage

我试图做一个文本装饰:下划线;WordPress中p span“西班牙语|英语”的主动功能。我在这个jsfiddle工作https://jsfiddle.net/TonyTheOnly/k92ayp24/

与JSFIDLE中的html和css相同,下面是我用于WP的jQuery。

    jQuery(document).ready(function () {
    "use strict";

    jQuery(\'.toggles span\').click(function () {

        jQuery(".toggles span").removeClass("active");
        jQuery(this).addClass("active");
    });
});
非常感谢您的帮助,并感谢您抽出时间。

编辑

这是我的全部功能

<?php

function paramo_script_enqueue() {

    wp_enqueue_style(\'customstyle\', get_template_directory_uri() . \'/css/paramo.css\', array(), \'1.0.0\', \'all\');
    wp_enqueue_script(\'customjs\', get_template_directory_uri() . \'/js/paramo.js\', array(\'jquery\'), \'1.0.0\', true);

}

add_action(\'wp_enqueue_scripts\', \'paramo_script_enqueue\');
function paramo_theme_setup() {

    add_theme_support(\'menus\');

    register_nav_menu(\'primary\', \'Primary Header Navigation\');
    register_nav_menu(\'secondary\', \'Footer Navigation\');   
}

add_action(\'init\', \'paramo_theme_setup\');
add_theme_support(\'custom-header\');


function enqueue_our_required_stylesheets(){
    wp_enqueue_style(\'font-awesome\', get_stylesheet_directory_uri() . \'/css/font-awesome.css\'); 
}
add_action(\'wp_enqueue_scripts\',\'enqueue_our_required_stylesheets\');
已满。js文件

/*global $, jQuery, alert*/

jQuery.noConflict();

jQuery(document).ready(function () {
    "use strict";

    jQuery(".burger-nav").on("click", function () {

        jQuery("nav ul").toggleClass("open");
    });


    jQuery(".spanish").on("click", function () {
        jQuery(".englishNav").hide();
        jQuery(".spanishNav").show();
    });

    jQuery(".english").on("click", function () {
        jQuery(".englishNav").show();
        jQuery(".spanishNav").hide();
    });

    jQuery(\'.toggles span\').click(function () {

        jQuery(".toggles span").removeClass("active");
        jQuery(this).addClass("active");
    });

});
完整标题

<!doctype html>
<html>
    <head>
         <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Paramo Galeria</title>
        <?php wp_head(); ?>

    </head>

    <body <?php body_class( $awesome_classes ); ?>>
        <section>
        <div class="topBar">
            <img src="<?php header_image();?>" height="120px;" width="100px;" alt=""/ class="siteLogo">
        <div class="topBarMiddle">
            <p class="toggles"><span class="spanish">español</span> | <span class="english">english</span></p>
          <div class="topBarRight">  
            <nav>
            <a class="burger-nav"></a>
                <ul class="englishNav">
                    <li><a href="http://localhost:8888/ParamoGaleria/home">Home</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/artists">Artists</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/exhibitions">Exhibitions</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/offsite">Offsite</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/shop">Shop</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/contact"> Contact</a></li>
                    <li style="padding-top:50px;"><i class="fa fa-facebook fa-1.5x" style="padding-right:10px;"></i><i class="fa fa-instagram fa-1.5x" style="padding-right:10px;"></i><i class="fa fa-twitter fa-1.5x"></i></li>
                </ul>
                <ul class="spanishNav">
                    <li><a href="http://localhost:8888/ParamoGaleria/home">Home</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/artists">Artistsio</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/exhibitions">Exhibitions</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/offsite">Offsite</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/shop">Shop</a></li>
                    <li><a href="http://localhost:8888/ParamoGaleria/contact"> Contact</a></li>
                    <li style="padding-top:50px;"><i class="fa fa-facebook fa-1.5x" style="padding-right:10px;"></i><i class="fa fa-instagram fa-1.5x" style="padding-right:10px;"></i><i class="fa fa-twitter fa-1.5x"></i></li>
                </ul>
            </nav>
          </div>
        </div>
        </section>
索引

<?php get_header(); ?>

    <?php 

    if( have_posts() ):

        while( have_posts() ): the_post(); ?>


            <p><?php the_content(); ?></p>



        <?php endwhile;

    endif;

    ?>

<?php get_footer(); ?>

3 个回复
SO网友:Anson W Han

您的问题可能有几个罪魁祸首:

如果在加载jquery之前加载此函数的脚本文件,您可能会在调试器/控制台中看到jquery未定义错误。如果是这种情况,只需更改脚本加载的顺序,以确保首先加载依赖项。

如果函数直接添加到wysiwyg主体区域或模板文件中,而不是主题的js文件,则可能需要调用jQuery.noConflict(). See the jQuery documentation about when and why you would use this.

同样值得注意的是,您在此处发布的javascript代码中有一个输入错误。传递给addClass或removeClass的类名前面不应该有句点/点

SO网友:jay_R_champ

不要在中添加点addClassremoveClass. 像这样:

之前:

jQuery(".toggles span").removeClass(".active");
jQuery(this).addClass(".active");
之后:

jQuery(".toggles span").removeClass("active");
jQuery(this).addClass("active");

SO网友:Tony Garand

这个问题解决了,谢谢你的帮助,在建议没有解决问题后,我刷新了浏览器缓存,现在我的功能正常了。。。然而,我后来意识到他们只在主页上工作。为此创建单独的线程。

结束

相关推荐

Avada和divi主题中不熟悉的HTML属性

我查看了两个WordPress主题的DOM代码,它们的标记属性遵循了我以前从未见过的模式。这些主题属于“框架主题”的范畴,但我没有看到在更接近WordPress codex的主题中使用属性。下面是一个示例:数据边距右=“0px”数据边距左=“0px”数据边距上=“31px”数据边距下=“31px”当我在谷歌上搜索时,它只会提取关于默认CSS规则的信息:左边距、上边距等。我确实发现CSS规则会覆盖它们,就像其他属性一样,在CSS说明符的正常特定性范围内。关于这些的故事是什么,即历史、用法、限制等?我们是否应