javascript - 如何使导航回到顶部透明

标签 javascript html css

当它通过我的标题 h1 标记时,我的导航从透明更改为 #eee 并获得 box-shadow - '0px 1px 3px rgba(0, 0, 0, 0.2)'。我该如何做相反的事情并让它回到没有盒子阴影和没有填充的状态?

代码:

$(document).ready(function(){       
   var scroll_start = 0;
   var startchange = $('#header h1');
   var offset = startchange.offset();
    if (startchange.length){
   $(document).scroll(function() { 
      scroll_start = $(this).scrollTop();
      if(scroll_start > offset.top) {
          $("#nav").css('background-color', '#eee');
		  $("#nav").css('-webkit-box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
		  $("#nav").css('-moz-box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
		  $("#nav").css('box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
       }
   });
    }
});
/* nav css */

#nav {
	position:fixed;
	width:100%;
	height:75px;
	background-color:transparent;
	display: inline-block;
	vertical-align:auto;
	z-index: 10000;
	top: 0;
	margin:auto;
	left: 0;
	right: 0;
	text-align:center;
	transition: background-color 500ms linear;
	
}
#nav ul li {
	width:150px;
	height:75px;
	list-style-type:none;
	text-align:center;
	line-height:50px;
	cursor:pointer;
	font-size:15px;
	display: inline-block;
	vertical-align:middle;
	margin-top:15px;
}
#nav ul li a {
	text-decoration:none;
	color:#999;
	display:block;
}
#nav ul li a:hover {
	color:#bdbdbd;
}

/*header css*/

#header {
	position:absolute;
	height:100vh;
	width:100%;
	background-color:rgb(164,164,164);
	text-align:center;
	display:block;
	z-index:9998;
	margin-top:0;
	background-image:url(../images/mac-header.jpg);
	background-repeat:no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
     -o-background-size: cover;
	background-size: cover;
	background-attachment: fixed;
}

#header h1 {
	position:relative;
	margin-top:40vh;
	display:block;
	font-size:75px;
	color:#eeeeee;
}

#header h3 {
	color:#cccccc;
}

#header h1 {
	-webkit-animation: fadein 5s; /* Safari, Chrome and Opera > 12.1 */
	 -moz-animation: fadein 5s; /* Firefox < 16 */
	  -ms-animation: fadein 5s; /* Internet Explorer */
   	   -o-animation: fadein 5s; /* Opera < 12.1 */
    	animation: fadein 5s;
}

#prevent {
	width:100%;
	height:100vh;
}

#placeholder {
  width:100%;
  height:100vh;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div id="nav">
	<ul>
       	<li id="logo"><a href="index.html"><b>symmetry creative.</b></a></li>
       	<li><a href="about.html"><b>about us.</b></a></li>
      	<li><a href="services.html"><b>services.</b></a></li>
		<li><a href="pricing.html"><b>pricing.</b></a></li>
		<li><a href="contact.html"><b>contact.</b></a></li>
	</ul>
</div>

<div id="header">
	<h1>symmetry creative.</h1>
</div>

<div id="placeholder"></div>

代码片段可能已损坏,因此我深表歉意,实时代码位于 http://jackfinn3y.co.uk/RJ-Creative/symmetry/website/

最佳答案

按如下所示更改您的 JavaScript 代码。您必须编写 else 条件才能实现此目的

$(document).ready(function () {
    var scroll_start = 0;
    var startchange = $('#header h1');
    var offset = startchange.offset();
    if (startchange.length) {
        $(document).scroll(function () {
            scroll_start = $(this).scrollTop();
            if (scroll_start > offset.top) {
                $("#nav").css('background-color', '#eee');
                $("#nav").css('-webkit-box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
                $("#nav").css('-moz-box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
                $("#nav").css('box-shadow', '0px 1px 3px rgba(0, 0, 0, 0.2)');
            }
            else {
                $("#nav").css('background-color', 'transparent');
                $("#nav").css('-webkit-box-shadow', 'none');
                $("#nav").css('-moz-box-shadow', 'none');
                $("#nav").css('box-shadow', 'none');
            }
        });
    }
});

关于javascript - 如何使导航回到顶部透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44344705/

相关文章:

javascript - .join 在 JavaScript 中是什么意思?

javascript - 如何跟踪社交点赞数

jquery - 如何使用 jquery 自动滚动到目标 div?

css - 防止使用特定媒体查询下载 geojson 文件

javascript - 延迟 CSS 加载,为什么包含预加载 <link> 更快?

javascript - 如何合并这两个 javascript 代码?

javascript - 更改标题大小和滚动图像

javascript - 无法通过 JQuery 访问选择框

javascript - 如何使用 Javascript 删除某一行时更新表

javascript - 使用 jquery 插件 slick carousel 自定义箭头和点