Wordpress页面,单击链接时更改DIV显示值

时间:2016-06-09 05:50:57

标签: php jquery css wordpress

当用户点击我页面上的“登录”行时,我正在尝试显示登录表单。当用户单击链接时,目的是使用JQuery从“display:none;”更改div类的CSS样式。 to“display:block;”。

我在W3 Schools代码编辑器中对此进行了测试,看起来效果很好。但是,当我尝试将此应用到我的wordpress网站时,它不起作用。

我在页面的head标签,内容区域,当然还有css文件中修改了代码。以下是每个文件的代码片段:

的style.css

#breadcrumbs-login { position: relative; float: right; color: #fff; padding-top: 9px; }

#breadcrumbs-login a { color: #fff; }

#floating-login { position: absolute; background-color: #999; color: #000; z-index: 10; right: 10px; padding: 5px; border: 1px; }

包括/ breadcrumbps.php

<div id="breadcrumbs-login"> 
        <?php if ( is_user_logged_in() ) {
                           $current_user = wp_get_current_user();
                           echo 'Welcome ' . $current_user->user_firstname;
                   } else { ?>
                           <a href="#" id="floating-login-trigger">Login</a> |
                           <div id="floating-login" class="login_onclick" style="display:none;">
                           <?php echo do_shortcode('[bbp-login]'); ?>
                           </div>
                  <?php } ?>
</div>

当然还有 header.php

中的head标记
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>

<script type="text/javascript">
        $(document).ready(function(){
            $("#floating-login-trigger").click(function(){
                $("login_onclick").css({
                    "display": "block;"
                });
            });
        });
</script>

非常感谢任何帮助。此外,如果有人知道更简单的方法(例如为此类任务设计的插件),我会接受建议,因为我在自己的搜索中没有找到太多建议。

2 个答案:

答案 0 :(得分:0)

尝试使用此语法,

$("#floating-login-trigger").click(function(e){
       e.preventDefault();

    var loginDiv = $("login_onclick");

    if(loginDiv.css('display') == 'none'){
        loginDiv.css('display', 'block')
    }

});

答案 1 :(得分:0)

好的,所以在你的functions.php中你需要找到你的脚本入队的地方。您可能已经有一些脚本可以放入代码。但如果没有,您可以自己添加:

<?php 

define( 'TEMPPATH', get_template_directory_uri() );
define( 'THEME_VERSION', '1.0.0' ); // or whatever your version is

add_action( 'after_setup_theme', 'yourtheme_theme_setup' );

if ( ! function_exists( 'yourtheme_theme_setup' ) ) {
    function yourtheme_theme_setup() {
        //actions go here
        add_action( 'wp_enqueue_scripts', 'yourtheme_frontend_scripts' );
    }
}

if ( ! function_exists( 'yourtheme_frontend_scripts' ) ) {
    function yourtheme_frontend_scripts() {

        wp_enqueue_script( 'yourcode_js', TEMPPATH.'/js/custom_code.js', array( 'jquery' ), THEME_VERSION, true );

    }
}

现在,enqueued your script取决于jQuery。因此,从标题中删除脚本,尤其是jQuery,因为默认情况下它已由WordPress加载,并且您的脚本将明确依赖它。

在新文件中,您输入名为js/的{​​{1}}文件夹,其中包含您的代码

custom_code.js

这应该这样做。在您的页面上,检查页面时应该可以看到jQuery(document).ready(function($){ 'use strict'; $('#floating-login-trigger').on('click', function(){ $('.login_onclick').css('display', 'block'); }); }); 。请记住从标题中删除代码和custom_code.js。你不需要那个。

希望这有帮助。