如何更改滚动时的导航栏更改?
How to change navbar change on scroll?
这是我今天的导航栏,仅使用 html 和 css 创建。左侧的徽标只是文本,使用 <br>
标签将其放在不同的行上。可能不是最好的方法,尤其是对于我想要的。
这就是我想要实现的然后滚动:
如您所见,出于实际原因,在查看页面时,徽标并未拆分以使导航栏变窄。在研究这个问题的解决方案时,我发现了如何转换导航栏,而不是徽标。
是否可以在再次到达页面顶部时将其变回原来的状态?
我希望这是你所期待的:
当您向下滚动时,导航栏的背景颜色会发生变化。
$(function() {
$(document).scroll(function() {
var $nav = $(".navbar-fixed-top");
$nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
if ($(this).scrollTop() > $nav.height()) {
$('#logo').html("logo content..");
} else {
$('#logo').html("logo <br> content..");
}
});
});
@import "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css";
body {
padding-top: 70px;
background: #ddd;
}
.navbar {
color: white;
}
.navbar-fixed-top.scrolled {
background-color: #fff !important;
transition: background-color 200ms linear;
}
.navbar-fixed-top.scrolled {
color: #555;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header>
<nav id="navigation" class="navbar navbar-dark bg-primary navbar-fixed-top">
<div id="logo">
logo <br> content..
</div>
</nav>
</header>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
这是我今天的导航栏,仅使用 html 和 css 创建。左侧的徽标只是文本,使用 <br>
标签将其放在不同的行上。可能不是最好的方法,尤其是对于我想要的。
这就是我想要实现的然后滚动:
如您所见,出于实际原因,在查看页面时,徽标并未拆分以使导航栏变窄。在研究这个问题的解决方案时,我发现了如何转换导航栏,而不是徽标。
是否可以在再次到达页面顶部时将其变回原来的状态?
我希望这是你所期待的:
当您向下滚动时,导航栏的背景颜色会发生变化。
$(function() {
$(document).scroll(function() {
var $nav = $(".navbar-fixed-top");
$nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
if ($(this).scrollTop() > $nav.height()) {
$('#logo').html("logo content..");
} else {
$('#logo').html("logo <br> content..");
}
});
});
@import "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css";
body {
padding-top: 70px;
background: #ddd;
}
.navbar {
color: white;
}
.navbar-fixed-top.scrolled {
background-color: #fff !important;
transition: background-color 200ms linear;
}
.navbar-fixed-top.scrolled {
color: #555;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header>
<nav id="navigation" class="navbar navbar-dark bg-primary navbar-fixed-top">
<div id="logo">
logo <br> content..
</div>
</nav>
</header>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>
<p> contents...</p>