Jquery滚动条隐藏菜单中的元素
Jquery scrollbar hides elements in menu
当新菜单(menu.fixed)出现时,我不希望我的li列表消失!我只想让他们按照固定菜单往下看!我该怎么解决这个问题?这是jquery:
var menuTop = $('.menu').offset().top;
var menuClone = $('.menu').clone().addClass('fixed');
$(window).bind('scroll', function() {
var scrollY = window.pageYOffset;
if(scrollY > menuTop) {
if(menuClone.parent().length === 0) {
menuClone.appendTo($('.menu').parent());
}
} else if(menuClone.parent().length > 0) {
menuClone.remove();
}
});
这是相关的css:
.menu {
background-color: white;
width: 80%;
height: 50px;
font-size: 1.5em;
font-family: Roboto;
margin-bottom:0px;
margin-left:10%;
border-bottom: 2px solid #756B6B;
}
.menu.fixed {
position: fixed;
left: 0;
top: 0;
height: 50px;
width:76.8%;
margin-left: 11.55%;
border-bottom: 2px solid #756B6B ;
}
li {
float: right;
margin-left:40px;
list-style: none;
position:relative;
padding-bottom: 10px;
}
和html
<div class="menu">
<ul>
<li id="sistaord">ovrigt</li>
<li id="jobberfarenhet">Jobberfarenhet</li>
<li>Utbildning</li>
</ul>
</div>
也许您不需要克隆菜单。您只需要为菜单元素切换类"fixed":
HTML相同,
CSS:
.menu {
background-color: white;
width: 80%;
height: 50px;
font-size: 1.5em;
font-family: Roboto;
margin-bottom:0px;
margin-left:10%;
padding-bottom: 10px;
border-bottom: 2px solid #756B6B;
}
.menu.fixed {
position: fixed;
left: 0;
top: 0;
}
li {
float: right;
margin-left:40px;
list-style: none;
}
JS:
var menu = $('.menu');
var menuTop = menu.offset().top;
$(window).bind('scroll', function() {
var scrollY = window.pageYOffset;
if (scrollY > menuTop) {
if (!menu.data('fixed')) {
menu.addClass('fixed').data('fixed', true);
}
} else if (menu.data('fixed')) {
menu.removeClass('fixed').data('fixed', false);
}
});
这是一个演示
相关文章:
- 切换一个元素并将其余元素隐藏在同一包装类下
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- 如何使用jQuery显示/隐藏菜单
- 如何在IE中隐藏菜单栏,工具栏
- 使用 Javascript 单击 ESC 时隐藏菜单
- 使用 jQuery 显示和隐藏菜单
- CSS 动画在元素隐藏时暂停
- 检查元素是否可见,父元素隐藏在DOM中
- 使用 jQuery 显示/隐藏菜单
- 在鼠标悬停时显示/隐藏菜单
- 粘性导航元素 - 隐藏然后显示
- 移动隐藏菜单适用于jsfiddle,但不适用于在线.任何解决方案都会有所帮助
- 如何隐藏菜单?(不是“切换”)
- 基于滚动的Jquery显示/隐藏菜单
- 如何在单击项目时隐藏菜单,或在有人单击离开时隐藏菜单
- 如果未在查询中单击元素,则隐藏菜单
- 隐藏菜单元素不起作用
- Jquery滚动条隐藏菜单中的元素
- 聚焦元素隐藏在固定菜单后面
- 是否有一种方法,不让隐藏菜单中的所有元素加载页面启动