在滚动时缩小和更改背景导航栏 [英] Shrink and change background navbar on scroll
本文介绍了在滚动时缩小和更改背景导航栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图在滚动时立即缩小导航栏并更改背景颜色.我尝试了类似问题中提供的一些 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">
<!--/.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屋!