如果我建立一个在悬停时淡入或淡出的按钮,则子级将与父级一起淡出。这些子项包含文本,因此我希望能够使它们忽略fadeIn()
或fadeOut()
效果。我也没有not()
的运气。
我怀疑应该归咎于我缺乏一些知识,因为如果只是动态更改CSS,那么可能就没有什么好办法来阻止这些更改像父母一样影响孩子。
显然,它是简单的代码,但如果相关,则如下所示:
myButton.hover(function(){
$(this).fadeTo(/*code to change the speed, etc etc*/);
}, function(){
$(this).fadeTo(/*reverse the changes, and so on*/);
}
});
有什么好办法让孩子忽略父母的这种变化?
最佳答案
我会使用CSS做到这一点。
#myButton {
background-color: rgb(0, 0, 0); /* Whatever colour it is */
transition: background-color 0.5s ease; /* However long you want it to be */
}
#myButton:hover {
background-color: rgba(0, 0, 0, 0.5); /* Whatever colour and fadedness you want it to be */
}
它会优雅地退化,并且可以在任何颜色之间转换。当然,您可能想添加
-webkit-transition
和-moz-transition
和-o-transition
以获得兼容性,并使用#myButton:hover, #myButton:focus
以获得键盘焦点。关于jquery - children 可以忽略对父级显示所做的更改吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17307653/