【发布时间】:2015-02-03 03:15:36
【问题描述】:
您好,我目前正在制作一个网站,但在为导航栏设置动画时遇到问题。
我希望导航栏最初是透明的,而不是在某个 div 之后更改背景颜色。我已经这样做了,但希望背景颜色淡入,而不仅仅是出现。 下面是 HTML 和 Jquery。
如何使它淡化为背景色?
HTML
<div class="nav">
<div class="container">
<div class="logo">
<a href="#"><img src="RepublicSquare_logo.svg" style="height: 80px;"></a>
</div>
<div class="navMain">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
Jquery
<script>
$(document).ready(function(){
var scroll_start = 0;
var startchange = $('#c-title');
var offset = startchange.offset();
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if(scroll_start > offset.top) {
$('.nav').css('background-color', 'rgba(34,34,34,0.9)');
} else {
$('.nav').css('background-color', 'transparent');
}
});
});
</script>
感谢您抽出宝贵时间回答问题。 (我希望问题很清楚,如果不让我知道)
【问题讨论】:
-
你能做一个jsfiddle吗? => JSFIDDLE
-
@Godisgood 当然,我现在就这么做。
-
@user3218008 所以这里的一切都准确地改变了
background-color,但你希望从transparent到rgba(34,34,34,0.9)的变化淡入? -
@Godisgood 是的,这是正确的。一开始它是透明的,一旦它通过向下滚动页面到达#c-title,它应该淡入rgba(34,34,34,0.9)
-
@user3218008 如果 Mohamed-Yousef 的解决方案有效,请接受他的回答作为解决方案。
标签: jquery html background-color fade nav