【发布时间】:2017-12-22 01:21:53
【问题描述】:
我想要在向上或向下滚动时使用导航栏替换 svg 文件。
如您所见,我正在使用。顶部更改导航栏,但我需要它在上下滚动时进行更改,而不像这样设置顶部 > 56。
<!-- begin snippet: js hide: false console: true babel: false -->
<!-- language: lang-js -->
$(document).ready(function() {
var navpos = $("#navbar_scroll").offset().top;
$(window).scroll(function() {
let windowpos = $(this).scrollTop();
if (windowpos >= navpos) {
$("#navbar_scroll").addClass('navbar_style_2');
$("#navbar_scroll").removeClass('navbar_style_3');
console.log("up");
} else {
$("#navbar_scroll").addClass('navbar_style_3');
$("#navbar_scroll").removeClass('navbar_style_2');
console.log("down");
}
})
});
<!-- language: lang-html -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="navbar_scroll" class="navbar navbar-toggleable-sm fixed-top navbar-inverse navbar_style">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand hidden-md-up" href="#"><img src="tps.jpg" class="img-fluid" style="width: 27px; height: 27px;"></a>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav mr-auto">
<a class="nav-item nav-link active " href="tu_pasion_click">1</a>
<a class="nav-item nav-link " href="tu_voz_click">2</a>
<a class="nav-item nav-link" href="#">3</a>
<a class="nav-item nav-link" href="#">4</a>
<a class="nav-item nav-link" href="#">5</a>
</div>
<a class="navbar-brand hidden-sm-down" href="#"><img src="tps.jpg" class="img-fluid" style="width: 27px; height: 27px;"></a>
<div class="navbar-nav ml-auto">
<a class="nav-item nav-link" href="#">6</a>
<a class="nav-item nav-link" href="#">7</a>
<a class="nav-item nav-link" href="#">8</a>
<a class="nav-item nav-link" href="#">9</a>
<a class="nav-item nav-link" href="#">10</a>
</div>
</div>
</nav>
【问题讨论】:
-
我更新了我的答案。我猜你的#navbar_scroll 可能放错了地方。如果您提供 HTML,我们可能会更好地满足您的需求。
-
完成,请检查我的更新
-
您应该编辑问题,而不是提供更新作为“答案”。但是,是的,#navbar_scroll 应该放在要进行更改的容器上。否则你只是得到导航栏的偏移量
-
对不起,您可以看到我正在提出新的问题,现在我正在尝试使其正常工作,但并非总是如此,我不知道为什么。你能做一个演示吗?
-
点击我回答中的“DEMO”链接
标签: jquery html css twitter-bootstrap svg