javascript - 悬停时的颜色没有改变
问题描述
$(document).ready(function() {
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > 200) {
$(".nav-bg").css({
"background": "#fff",
"box-shadow": "0px 0px 4px #ddd"
});
$(".nav-link").addClass("link-color");
$(".nav-item a").hover(function() {
$(this).css("color", "#150945 !important");
})
} else {
$(".nav-bg").css({
"background": "transparent",
"box-shadow": "none"
});
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="nav-item">
<a href="#contact" class="nav-link pi">THOUGHTS</a>
</li>
<li class="nav-item">
<a href="#contact" class="nav-link pi">CONTACT</a>
</li>
预期输出:悬停时链接颜色应该改变。问题是当我添加除颜色之外的任何其他属性时,它会起作用。但是当我添加颜色时它不起作用。
解决方案
这是因为!important
关键字。您可以删除它,它会工作。
您不需要!important
在 inline css 中指定。
$(document).ready(function(){
$(window).scroll(function(){
var scroll = $(window).scrollTop();
if (scroll > 200) {
$(".nav-bg").css({"background":"#fff","box-shadow":"0px 0px 4px #ddd"});
$(".nav-link").addClass("link-color");
$(".nav-item a").hover(function(){
$(this).css("color", "red");
})
}
else{
$(".nav-bg").css({"background":"transparent","box-shadow":"none"});
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<br/><br/>Scroll ↓ <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<ul>
<li class="nav-item">
<a href="#contact" class="nav-link pi">THOUGHTS</a>
</li>
<li class="nav-item">
<a href="#contact" class="nav-link pi">CONTACT</a>
</li>
</ul>
<br/>
推荐阅读
- react-native - BackHandler.exitApp() 时重置 Linking.getInitialURL()
- javascript - 我如何知道 Vue 应用程序是否是从 javascript 安装的?
- java - 杰克逊:反序列化 JSON 提取深度属性到父类
- python - 如何从一个文件中提取特定数据并将其添加到特定位置的另一个文件中?
- firebase - 使用 Cloud Firestore 更新数组中的数据
- ios - iOS:调用 AWS Amplify GET 时出现 IncompleteSignatureException
- algorithm - 对相邻值之间的增量进行编码的数据结构/编码是否有名称?
- java - 如何为通用 ArrayList 实现插入排序方法?
- java - 使用现有领域数据库
- r - 箱线图仅提供两个变量值之一的线/范围