所以现在我正在建立我们的新网站,我已经用javascript编程了一个不错的小粘性头。这是我的Javascript。
http://dev.yoursparksource.com
<script>
jQuery(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('.stickyheader1').addClass("sticky");
}
else{
$('.stickyheader1').removeClass("sticky");
}
});
</script>
我的CSS用于stickyheader和.sticky添加的类
.stickyheader1 {
position: fixed;
width: 100%;
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
-ms-transition: background .3s ease-in-out;
-o-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
height: 85px;
}
.stickyheader1.sticky {
background: rgba(0,0,0,0.80);
-webkit-transition: background .4s ease-in-out;
-moz-transition: background .4s ease-in-out;
-ms-transition: background .4s ease-in-out;
-o-transition: background .4s ease-in-out;
transition: background .4s ease-in-out;
}
这很完美。我的问题是下拉菜单。我设计了一个CSS插入符号样式,当你向下滚动并激活标题背景时,插入符号位于标题空间的顶部,你可以看到它在半透明的标题后面。(哇俗气……)
我想知道的是,我如何才能针对这个元素,因为它是一个:after伪类。。这是插入符号(或一些人称之为顶三角形)的当前CSS
#nav ul ul:After {
content: '';
position: absolute;
border-style: solid;
border-width: 0 10px 10px;
border-color: rgba(0,0,0,0.40) transparent;
display: block;
width: 0;
z-index: 1;
top: -10px;
left: 20px;
}
我试着在“nav ul ul:After”中使用相同的javascript,但经过研究,我了解了如何不能向伪类添加样式。嗯,我知道,只是忘了。这就是全部。;-)当我滚动并启动棍子标题的背景时,有什么帮助可以让这个小插入符号消失吗?会是我的救命稻草。(此外,如果它可以像头部那样使用不透明度过渡来设置动画,那将是摇摆不定的。一旦我找到了目标,我就可以添加css动画。
万分感谢!我喜欢StackOverflow。
最佳答案
您需要JavaScript循环样式表,找到#nav ul ul:After
的规则,并在display
类添加到none
后将其sticky
属性设置为.stickyheader1
。
jQuery(window).scroll(function() {
if ($(this).scrollTop() > 1) {
$('.stickyheader1').addClass("sticky");
var ss = document.styleSheets;
for (i = 0; i < ss.length; i++) {
var rules = ss[i];
for (j = 0; j < rules.cssRules.length; j++) {
var r = rules.cssRules[j];
if (r.selectorText == "#nav ul ul:After" || r.selectorText == "#nav ul ul::After") {
r.style.display = 'none';
}
}
}
} else {
$('.stickyheader1').removeClass("sticky");
}
});
关于javascript - 存在粘性 header 时隐藏下拉菜单“插入符”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27453768/