我前幾天有同樣的問題。奇怪的是,它在FF中似乎沒問題,但在IE,Chrome和Safari中會閃爍。解決方案是使用一個CSS精靈表。您可以創建具有相鄰背景的圖像。您只顯示背景圖表的一部分。您可以通過調整背景上的邊距來切換它。您可以使用addClass和removeClass處理邊距調整。下面是代碼,在這裏看到了一個小提琴:http://jsfiddle.net/fMhMY/
CSS
.navButton span{
width:32px;
height:32px;
display:block;
}
a.leftButton span, a#leftButton span{
background-image:url(Prev.png);
background-position:-64px 0px;
}
/*nav button sprites */
/*sprite order is pushed, hover, natural */
a.leftButton.navOver span, a.rightButton.navOver span{
background-position:-32px 0px;
}
a.leftButton.navPressed span, a.rightButton.navPressed span{
background-position:0px 0px;
}
HTML
<div style='display:inline-block'>
<a href="javascript:void(0);" class="leftButton navButton" id='lefty'>
<span></span>
</a>
</div>
jQuery的
$('.leftButton').mousedown(function() {
$('.leftButton').addClass('navPressed');
console.log('mousedown');
});
$('.leftButton').mouseup(function() {
$('.leftButton').removeClass('navPressed');
console.log('mouseup');
});
$('.leftButton').hover(function() {
$('.leftButton').addClass('navOver');
console.log('hover');
});
$('.leftButton').mouseout(function() {
$('.leftButton').removeClass('navPressed').removeClass('navOver');
console.log('mouseout');
});
w ^你是否每次要更新背景圖像時都要設置顯示和z-index屬性?最好將display和z-index屬性添加到CSS中。另外z-index:50px無效。 z-index採用整數值。 – Lowkase
你有截圖嗎? – Grigor
你是否在你的圖片加載?如果不是,瀏覽器正在下載時可能會出現閃爍。 –