当我滚动页面时,我很难让固定顶部导航栏更改背景颜色。
以下是JS中的函数:
$(document).ready(function(){
var scroll_start = 0;
var startchange = $('#startchange');
var offset = startchange.offset();
if (startchange.length){
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if(scroll_start > offset.top) {
$(".navbar").css('background-color', '#f0f0f0');
} else {
$('.navbar').css('background-color', 'transparent');
}
});
}
});
这是一个名为“custom.js
”的文件,在我加载bootstrap和jquery
后加载到页面底部(custom.js
与index.html
位于同一文件夹中)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="custom.js"></script>
这里是html导航栏:
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header ">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarNav">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="navbarNav" class="navbar-collapse collapse ">
<br/><br/>
<ul class="nav navbar-nav navbar-right ">
<li><a href="#">ABOUT</a></li>
<li><a href="#">SERVICES</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">CALCULATORS</a></li>
</ul>
</div>
</div>
</nav>
</div>
然后,我只有css用于更改导航栏背景颜色:
.navbar {
background-color: transparent;
border-color: transparent;
}
.navbar-toggle:hover, .navbar-default .navbar-toggle:focus{
background-color: transparent !important;
}
这样很容易,;
let blackToRed = [0,0,0,1];
$(document).ready(function(){
$(document).scroll(function() {
blackToRed[0] = window.scrollY;
$("#item").css('color', 'rgba(' + blackToRed + ')');
});
});
根据需要更改值50,50px
是滚动后的页面位置
$(document).ready(function () {
$(window).scroll(function () {
if ($(window).scrollTop() >= 50) {
$(".navbar").css("background-color", "#222");
} else {
$(".navbar").css("background-color", "transparent");
}
});
});
这是当前函数和css在具有的页面上所做的工作。
如果你让你的css更加具体,你可以让导航栏变得透明,开始时没有边框(在更大的屏幕尺寸下,你可能也想看看它是如何为小屏幕设计的)。
$(document).ready(function(){
var scroll_start = 0;
var startchange = $('#startchange');
var offset = startchange.offset();
if (startchange.length){
$(document).scroll(function() {
scroll_start = $(document).scrollTop();
if(scroll_start > offset.top) {
$(".navbar").css('background-color', '#f0f0f0');
} else {
$('.navbar').css('background-color', 'transparent');
}
});
}
});
.navbar.navbar-default.navbar-fixed-top {
background-color: transparent;
border-color: transparent;
-webkit-transition: background-color 2s; /* Safari */
transition: background-color 2s;
}
.navbar-toggle:hover, .navbar-default .navbar-toggle:focus{
background-color: transparent !important;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header ">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarNav">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="navbarNav" class="navbar-collapse collapse ">
<br/><br/>
<ul class="nav navbar-nav navbar-right ">
<li><a href="#">ABOUT</a></li>
<li><a href="#">SERVICES</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">CALCULATORS</a></li>
</ul>
</div>
</div>
</nav>
<div id="page">
Page Top
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="startchange">Start Change Div</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
Page Bottom
</div>
</div>
我的导航栏有一个白色背景,但在登录页上它应该是透明的,当我向下滚动时它应该是白色的,在其他页面上它应该是白色的。 我使用的代码来自:滚动后更改导航栏颜色? 编辑: 所以我在下面的答案中添加了一个小提琴,但不知何故它不起作用 https://jsfiddle.net/jy6njukm/ 这是我的代码: javascript: 这里是我的navbar css: 我有我的导航栏html只有 我的home
我的导航栏有一个透明的背景,当用户向下滚动时,我想添加一个不同的背景。 我使用了这个问题的代码:滚动后更改导航条颜色? 我的代码现在如下所示: 当我向下滚动时,一切正常,背景和不透明度适用,但当我向后滚动到顶部时,这种样式仍然存在。我希望它更改回没有背景的默认样式。 谢啦
我试图让我的导航栏在滚动时从透明背景变为黑色背景。与此模板类似:https://www.templatemonsterpreview.com/demo/58900.html?_gl=1*vx82om*\uGA*MTC0odazmti4xNJI3NTCxNdQW*\uGA\uFTPyEGT5LY*MTYyNzYwNzQ4Mi40LjEuMTYyNzYwODA2NC40Nw。。 这是我的html: 这
如何设置没有背景色的导航栏? 当在div之后向下滚动导航条时,导航条会得到一个新的背景颜色(导航条应该固定在顶部,我在引导中使用) 我尝试过一些教程,但没有成功。 这是网站:http://attafothman.olympe.in/ 我说的是上面那个黑色导航条。
博览会允许更改StatusBar的颜色和其他方面(在屏幕顶部)。 我没有看到任何关于修改导航栏(屏幕底部)背景颜色以匹配任何地方的内容。无需分离即可实现此功能吗?:
如何在默认情况下设置无背景色的导航栏并在滚动时获得背景色? 当向下滚动带有类的div时,应该会获得新的bg颜色。 对于顶部的固定位置,我使用来自Bootstrap3的。 我几乎尝试了我遇到的每一个教程,但我没有成功。 我甚至尝试从WordPress词缀插件,但没有运气。 这是我的密码