当用户向下滚动网站时,我使用jquery保持顶部导航可见。如果用户向下滚动页面,滑动导航的jquery代码仍然有效,但滑动导航的div不可见。
HTML代码
<div id="headerwrapper">
<header>
<img id="logo" src="<?php echo get_template_directory_uri(); ?>/images/logo.png" alt="Unified Software Solutions">
<img id="navigation" src="<?php echo get_template_directory_uri(); ?>/images/nav.png" alt="Navigation">
<div id="navigation_menu">
<ul id="menu-navigation>
<!-- nav items -->
</ul>
</div>
</header>
</div>
CSS代码
*{
text-decoration: none;
list-style: none;
margin: 0px;
padding: 0px;
}
body{
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
width: 100%;
height: 100%;
overflow-x: hidden;
}
#headerwrapper{
width: 100%;
min-height: 50px;
height: auto !important;
background-color: #ffffff;
box-shadow: 0px 2px 5px #ccc;
z-index: 2;
overflow: hidden;
}
header{
width: 100%;
min-height: 50px;
height: auto !important;
}
#logo{
position: relative;
top: 12px;
left: 5px;
width: 80%;
max-width: 80%;
}
#navigation{
position: relative;
top: 10px;
right: 5px;
width: 25px;
max-width: 25px;
margin: 8px;
float: right;
}
#navigation_menu{
position: absolute;
top: 50px;
right: -400px;
width: 400px;
min-height: 100px;
height: auto !important;
background-color: #ffffff;
box-shadow: 0px 2px 5px #ccc;
z-index: 1;
}
#content{
width: 100%;
min-width: 100%;
min-height: 60px;
height: auto !important;
z-index: 0;
}
滚动JQuery代码
jQuery(document).ready(function($){
$(window).scroll(function(){
if($(window).scrollTop() > 40){
$("#headerwrapper").css("position", "fixed");
}
if($(window).scrollTop() < 40){
$("#headerwrapper").css("position", "relative");
}
});
});
滑动导航JQuery代码
jQuery(document).ready(function($){
var slid = false;
var right = $("#navigation_menu").css("right");
$("#navigation").click(function(){
if(!slid && right == "-400px"){
$("#navigation_menu").animate({right: '0px'});
slid = true;
return;
}
else{
$("#navigation_menu").animate({right: '-400px'});
slid = false;
return;
}
});
});
滑动导航代码一直有效,直到页面滚动为止。然后它仍然滚动但似乎z-index存在问题。至少我可以从Chrome开发者控制台推断出这一点。 div滑动但是在一切之下。非常感谢任何帮助。