当存在粘性标头时隐藏下拉列表“插入符号”
Hiding Dropdown "caret" when sticky header is present
所以现在我正在构建我们的新网站,我已经使用javascript编写了一个漂亮的小粘性标头。这是我的Javascript。
http://dev.yoursparksource.com
<script>
jQuery(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('.stickyheader1').addClass("sticky");
}
else{
$('.stickyheader1').removeClass("sticky");
}
});
</script>
以及我的 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 插入符号的样式,当您向下滚动并且标题背景激活时,插入符号位于标题空间的顶部,您可以在半透明标头后面看到它。(哇!俗气...
我想知道的是,我如何定位这个元素,因为它是一个 :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;
}
我尝试只使用相同的javascript和"#nav ul ul:After",但是经过研究,我了解到如何不能向伪类添加样式。 呃,我知道,只是忘记了。就这样。;-)当我滚动并且摇杆标题的 bg 激活时,有什么帮助可以让那个小插入符号消失吗?对我来说将是救命稻草。(此外,如果它可以像标题一样使用不透明度过渡进行动画处理,那将会摇摆不定。一旦我弄清楚如何定位它,我就可以添加 css 动画。
提前感谢一百万!我喜欢StackOverflow。
您将
需要JavaScript来遍历样式表,找到#nav ul ul:After
的规则,并在将sticky
类添加到.stickyheader1
后将其display
属性设置为none
。
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");
}
});
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何使用PHP和JS级联三个下拉列表
- 如何在使用剑道 MVVM 下拉列表时强制选择第一项
- 语义ui如何使用javascript启用或禁用下拉列表
- 无法使用PHP动态设置下拉列表中的值
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 当存在粘性标头时隐藏下拉列表“插入符号”
- 在页面加载时将光标插入 PHP 下拉列表中
- 根据文本框中插入的值填充动态下拉列表
- 在引导程序标记字段中插入标记后,调用“自动完成”下拉列表
- 根据下拉列表值插入额外的文本到HTML页面
- 动态地从数据库中获取信息并插入到下拉列表中
- 当从下拉列表中选择项目时,在将选中的项目插入到ng-model之前,如何进行一些逻辑处理