[英]CSS image stripe hover effect not working with jQuery
標題可能有點令人困惑。 讓我解釋一下我的問題:我使用CSS圖像條紋作為社交按鈕。 這是一個簡單的例子:
.appnet {
display:block;
width:64px;
height:64px;
background: url('http://yanlu.de/files/images/SocialButtons.svg') no-repeat;
background-position:-256px 0;
margin-right: 10px;
margin-left: 10px;
}
.appnet:hover {
background-position:-256px -64px;
}
.appnet:active {
background-position:-256px -128px;
}
現在有我的jQuery部分:
$('.appnet').css('background-position','-256px -192px');
現在,在懸停按鈕時,圖像條紋沒有變化。 為什么?
那是因為你通過內聯CSS級聯樣式。
看看下面的例子:
HTML
<a href="">:hover is not working, yea?</a>
CSS
a:hover {
background-color: gold;
}
a {
background-color: orange;
}
最后是JS
$('a').css('background-color', 'lightgreen');
通過使用jQuery.css();
方法,將CSS作為內聯樣式添加到所選元素,它具有比內部或外部樣式更高的優先級。
你可以使:hover
聲明!important
是將其優先級設置得更高:
a:hover {
background-color: gold !important;
}
我的建議是避免在你的Javascript中做樣式。
相反,有一個'黑暗'類
.dark {
background-position: -256px -192px;
}
然后根據需要打開和關閉它。
$('.appnet').toggleClass('dark');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.