所以现在我正在构建我们的新网站,并且我使用javascript编写了一个漂亮的小粘性标题。这是我的Javascript。
http://dev.yoursparksource.com
<script>
jQuery(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('.stickyheader1').addClass("sticky");
}
else{
$('.stickyheader1').removeClass("sticky");
}
});
</script>
我的用于stickyheader的CSS和.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插入符号,当你向下滚动并且标题背景激活时,插入符号位于标题空间的顶部,你可以在半透明标题后面看到它。 (EWW!Tacky ......)
我想知道的是,我如何定位这个元素,因为它是一个:伪类之后..这是插入符号的当前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,但经过研究,我学会了如何不能为伪类添加样式。呃,我知道,只是忘了。就这样。 ;-)当我滚动并且棒头的bg激活时,任何帮助让小插入消失?对我来说是一个救星。 (另外,如果它可以像标题一样使用不透明度过渡进行动画处理,那就会摇滚。一旦我弄清楚如何定位它,我就可以添加css动画。
提前感谢百万!我喜欢StackOverflow。
答案 0 :(得分:0)
在#nav ul ul:After
类添加到{{display
后,您需要使用JavaScript循环遍历样式表,找到none
的规则并将其sticky
属性设置为.stickyheader1
1}}。
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");
}
});