【发布时间】:2018-06-02 03:33:45
【问题描述】:
当我滚动页面时,我无法让我的固定顶部导航栏更改 background-color。
这是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 and 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;
}
【问题讨论】:
-
html中没有带有
startchangeid的dom元素 -
所以我需要将该 ID 添加到导航栏??
-
就在文档的某处,页面顶部没有的内容
-
你能演示一下这样的标签是什么样的吗?我以前没有在 html 中使用过 ID。谢谢!
-
添加 ID 的方式几乎与添加类的方式相同,但使用
id而不是class
标签: javascript html css twitter-bootstrap