gpt4 book ai didi

css - 向上滚动和向下滚动时导航按钮的颜色变化

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:26 26 4
gpt4 key购买 nike

我正在使用 headroom.js向下滚动时隐藏我的标题,向上滚动时使我的标题部分再次可见。标题部分包含我的 Logo 和导航按钮。

在我的页面顶部,我需要我的导航按钮颜色较深,因为我的背景颜色较浅,而当向下滚动时,我需要我的导航按钮颜色较浅,因为标题背景颜色较深。

我在 CSS 中创建了颜色类来更改按钮颜色。

CSS:

.topColor {color: red;}

.scrollColor {color: white;}

我在这个元素中使用 angularjs,所以我使用 headroom.js angular 模块和下面的选项。

Angular :

<headroom id="header" tolerance="5" offset="205" classes='{"initial":"animated","pinned":"swingInX","unpinned":"swingOutX","top":"headroom--top","notTop":"headroom--not-top"}' > 

为了完成更改导航按钮的任务,我尝试了两种不同的方法。

1.) 创建了一个指令来检查 headroom hasClas('headroom--not-top') 以及它是否确实将类 ('.scrollColor') 添加到我的导航按钮 ('#navColor') 否则添加类 ( '.topColor').

.directive('headroom', function(){
return{
restrict:'E',

link: function(scope, element, attrs){

if($(element).hasClass('headroom--not-top'))
{
$('#navColor').addClass('.scrollColor');
}else{
$('#navColor').addClass('.topColor');
}
}
}
});

2.) 然后我尝试了这种方法...

.directive('headroom', function(){
return{
restrict:'E',

link: function(scope, element, attrs){

if($(element).hasClass('headroom--not-top'))
{
$scope.myNavColor = "scrollColor";
}else{
$scope.myNavColor = "topColor";
}
}
}
});

html 导航

<li><a id="navColor" ng-class="{current: isCurrentPath('/')}"  active class = "{{myNavColor}}"  ng-href="#/">Home</a></li>

这两种尝试都不适合我,但是第一次尝试确实将按钮更改为白色,但是当我向下滚动时它并没有改变。我相信问题是 $(element) 没有被识别,或者我只是完全错误地处理这个任务?

最佳答案

我找到了使用 CSS 解决这个“问题”的方法! headroom.js 使用两个类来检测页眉何时位于页面顶部以及何时滚动(不是顶部),因此我提供了以下 CSS。

header.headroom--not-top ul li a{
color: red;
}

header.headroom--top ul li a{
color: white;
}

关于css - 向上滚动和向下滚动时导航按钮的颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29419895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com