在滚动时缩小和更改背景导航栏 [英] Shrink and change background navbar on scroll

查看:30
本文介绍了在滚动时缩小和更改背景导航栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在滚动时立即缩小导航栏并更改背景颜色.我尝试了类似问题中提供的一些 javascript 解决方案,但似乎没有用.这是我的 html 的样子:

<nav id="menu" class="navbar navbar-default navbar-fixed-top"><div class="容器"><!-- 品牌和切换被分组以获得更好的移动显示--><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"><span class="sr-only">切换导航</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span><a class="navbar-brand" href="index.html"><i class="fa fa-cog fa-spin fa-1x fa-fw margin-bottom" aria-hidden="true">;</i>原型<font color="#37c6f5">我的</font>草图<strong></strong></a>

<!-- 收集导航链接、表单和其他用于切换的内容--><div class="collapse navbar-collapse"><ul class="nav navbar-nav navbar-right">

  • <a href="#" class="dropdown-toggle">联系方式</a><ul class="下拉菜单">
  • <ul class="nav navbar-nav navbar-right">
  • <a href="#" class="dropdown-toggle">服务</a><ul class="下拉菜单">
  • <ul class="nav navbar-nav navbar-right">
  • <a href="about.html" class="dropdown-toggle">关于</a>
  • <ul class="nav navbar-nav navbar-right">
  • <a href="#" class="dropdown-toggle">首页</a><ul class="下拉菜单">
  • <!--/.navbar-collapse -->

    <!--/.container-fluid --></nav>

    非常感谢任何帮助!

    解决方案

    使用 Jquery 和 Css,您可以通过滚动更改导航栏的背景颜色:$(document).ready(function(){$(窗口).滚动(功能(){如果 ($(document).scrollTop() > 150) {$('.navbar').addClass('shrink');} 别的 {$('.navbar').removeClass('shrink');}});});CSS:.导航栏{过渡:背景色 0.5s 缓和;背景色:#f8f8f8;}.navbar.shrink{背景:#dddddd}根据您的要求更改颜色.

    I am attempting to make my navbar shrink and change background color as soon as I scroll. I attempted some of the javascript solutions provided in a similar question but it did not seem to work. Here is what my html looks like:

    <nav id="menu" class="navbar navbar-default navbar-fixed-top">
      <div class="container"> 
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
          <a class="navbar-brand" href="index.html"><i class="fa fa-cog fa-spin fa-1x fa-fw margin-bottom" aria-hidden="true"></i> PROTOTYPE<font color="#37c6f5">MY</font>SKETCH<strong></strong></a> </div>
    
          <!-- Collect the nav links, forms, and other content for toggling -->
          <div class="collapse navbar-collapse">
            <ul class="nav navbar-nav navbar-right">
              <li class="dropdown">
                <a href="#" class="dropdown-toggle">Contact</a>
                <ul class="dropdown-menu"> 
                </ul>
              </li>
            </ul>
    
            <ul class="nav navbar-nav navbar-right">
              <li class="dropdown">
                <a href="#" class="dropdown-toggle">Services</a>
                <ul class="dropdown-menu"> 
                </ul>
              </li>
            </ul>
    
            <ul class="nav navbar-nav navbar-right">
              <li class="dropdown">
                <a href="about.html" class="dropdown-toggle">About</a>
              </li>
            </ul>
    
            <ul class="nav navbar-nav navbar-right">
              <li class="dropdown">
                <a href="#" class="dropdown-toggle">Home</a>
                <ul class="dropdown-menu"> 
                </ul>
              </li>
            </ul>
    
          </div>
          <!-- /.navbar-collapse --> 
        </div>
        <!-- /.container-fluid --> 
      </nav>

    Any help is truly appreciated!

    解决方案

    Using Jquery and Css you can change the background color of navbar with scrolling:
    
     $(document).ready(function(){
      $(window).scroll(function() { 
        if ($(document).scrollTop() > 150) { 
          $('.navbar').addClass('shrink'); 
        } else { 
          $('.navbar').removeClass('shrink'); 
        } 
      }); 
     });
    
    CSS for that:
    .navbar{
       transition: background-color 0.5s ease;
       background-color: #f8f8f8;
    }
    .navbar.shrink{ 
       background: #dddddd 
    }
    
    change color as per your requirement.
    

    这篇关于在滚动时缩小和更改背景导航栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    相关文章
    前端开发最新文章
    热门教程
    热门工具
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆