如果我建立一个在悬停时淡入或淡出的按钮,则子级将与父级一起淡出。这些子项包含文本,因此我希望能够使它们忽略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/

10-12 13:18