【问题标题】:Wordpress navbar-default menu with jQuery effect not working具有 jQuery 效果的 Wordpress 导航栏默认菜单不起作用
【发布时间】:2015-03-10 17:34:54
【问题描述】:

我想设置我的 Wordpres 导航栏/菜单的样式,以便在加载页面时菜单有点大,但是当您滚动一点时,菜单会随着过渡而变小。我正在制作一个集成了 bootstrap 的 wordpress 主题,并且我肯定 jQuery 已激活,因为我进行了测试 - 所以这不是问题。我还用 jQuery 更改了 $,所以这也不是问题...

也许有人能发现错误:

CSS:

.navbar

.navbar-default {
font-family: "Fugaz One"; 
padding-top: 20px;
}

.navbar-default2 {
font-family: "Fugaz One"; 
padding-top: 0px;
}

PHP:

jQuery(document).ready(function($) {

$(window).scroll(function() {
    if ($(window).scrollTop() > 100) { 
        $('.navbar-default').addClass(".navbar-deafalt2");
      }
      else{
        $('.navbar-default').removeClass(".navbar-default2");
      }
});

});

还有我想要设置样式的导航栏:

 <nav class="nav navbar *navbar-default* navbar-fixed-top">
   <div class="container" >
                <div class="navbar-header">

                <!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-responsive-collapse">                 
                    <span class="sr-only"><?php _e('Toggle navigation','_tk') ?> </span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                   </button>

                <!-- Your site title as branding in the menu -->

                    <a class="navbar-brand" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
              </div>

            <!-- The WordPress Menu goes here -->
        <?php wp_nav_menu(
            array(
                'theme_location' => 'primary',
                'container_class' => 'collapse navbar-collapse navbar-responsive-collapse',
                'menu_class' => 'nav navbar-nav navbar-right', 
                'fallback_cb' => '',
                'menu_id' => 'main-menu', 
                'walker' => new wp_bootstrap_navwalker()
            )
        ); ?>

                <!-- .navbar -->
</div><!-- .container -->

【问题讨论】:

  • 记录在案! - 我没有在 CSS 中包含任何“过渡”,但它根本没有缩小:-/

标签: jquery wordpress menu navigationbar


【解决方案1】:

是不是因为你没有正确拼写default

$('.navbar-default').addClass(".navbar-deafalt2");

【讨论】:

  • 感谢您的回答 - 我没有看到那个,但我的朋友今天早上向我指出了它。没有进展:-/
  • 我刚刚使用您正在使用的 JQuery 选择器尝试了您的 HTML,没有返回任何内容。试试这样的属性选择器:$( "nav[class*='navbar-default']" )
  • 我刚刚想通了 - 有点!通过直接在 .js 中设置 .css 的样式,并从类中删除“导航栏”,它就起作用了。但我真的想用 .js 来定位整个类,这样我就可以同时更改和设置导航栏默认值、其中的徽标、其中的菜单按钮等等。前任。比如:$('.TheWholeMenu').addClass("sticky"); ...似乎问题在于它无法识别 CSS 中的“粘性”类? :-/
  • 哦,不错!编码愉快。
  • 谢谢 :) 可能会搭配白色背景和 lorem ibsum 供我参与!
【解决方案2】:

我做了一个小提琴jsFiddle link

您不需要添加类,但您可以直接向导航栏添加一些 CSS:

$(window).scroll(function() {
    if ($(window).scrollTop() > 100) {
        /* or replace .css with something else like: add/removeClass */
        $('.navbar-default').css('padding-top', '0');
    }else{
        $('.navbar-default').css('padding-top', '20px');
    } 
});

也许这会有所帮助

【讨论】:

  • 不知道,很好 :) 我试过了,它也不起作用 :-/ 可能是因为 wordpress 影响菜单而发生的事情吗?我已经用另一个网站(不是 wordpress!)做了这个造型,它就像一个魅力......我只是把它放在网上 - 它可能会有所帮助:itu.dk/people/memb/Cykelhjemmeside/Index.html
猜你喜欢
  • 1970-01-01
  • 2013-03-28
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-05
  • 1970-01-01
相关资源
最近更新 更多