我需要一點點的使用jQuery的幫助來獲得淡出效果,發生的事情,這是我的代碼:jQuery的淡出懸停
當你將鼠標懸停在圖片需要淡出的形象和表演下面的紅色,當你將鼠標從圖像上移開時,應該淡出。我認爲代碼可能需要一個停止功能 - 只是很難寫出它。
歡迎任何建議!
我需要一點點的使用jQuery的幫助來獲得淡出效果,發生的事情,這是我的代碼:jQuery的淡出懸停
當你將鼠標懸停在圖片需要淡出的形象和表演下面的紅色,當你將鼠標從圖像上移開時,應該淡出。我認爲代碼可能需要一個停止功能 - 只是很難寫出它。
歡迎任何建議!
在特定的jsfiddle,使用此:
$('#show').hover(function() {
$(this).stop(true).fadeTo("slow", 0);
}, function() {
$(this).stop(true).fadeTo("slow", 1);
});
你可以看到它在這裏工作:http://jsfiddle.net/jfriend00/BJwn7/。
他們在這裏關鍵是你不能使用.fadeOut()
和.fadeIn()
因爲當他們完成,他們成立display: none
這將導致要隱藏的元素,並且攪亂.hover()
功能。所以,相反只需將不透明度消除爲0(但懸停保持有效),然後當懸停離開時,淡出回到不透明度1.
我還必須從jsFiddle中移除紅色塊的不透明度CSS因爲您希望在淡出圖像時可以看到它,因此您可以將其保留在圖像後方。
如果你只是想在瀏覽器中支持CSS3轉換(IE還沒有版本)的效果,那麼你也可以做到這一點,沒有jQuery/JavaScript,只使用CSS3轉換。但是對於這樣簡單的事情,當你已經有jQuery時,只需使用jQuery淡入淡出並獲得跨瀏覽器支持就很容易了。
$('#show').hover(
function() {
$(this).fadeOut("slow");
},
function() {
$(this).fadeIn("slow");
}
);
您開始使用CSS轉換,所以這是一個使用這樣一個例子:
我使用Firefox,這樣的例子是僅用於Firefox的更新,但其他人應該是對稱的。
瞭解更多關於此這裏:
現金
感謝您對本不過,我需要這個工作的跨瀏覽器 – Filth 2012-02-29 01:49:37
沒問題 - 不幸的是IE瀏覽器似乎並不支持目前這樣的:http://stackoverflow.com/questions/5103283/確實,互聯網資源管理器支持CSS的躍遷 – 2012-02-29 01:51:46
fadeOut
的示例將不適用於您的html代碼。原因很簡單 - mouseout
或hover
的第二個功能將在fadeOut
動畫結束時觸發,因爲圖像將獲得display:none
屬性。看看我的代碼http://jsfiddle.net/TW232/
$('div').hover(function(){
$(this).width($('img', this).width()).height($('img', this).height());
$('img', this).stop(true,true).fadeOut('fast');
}, function(){
$('img', this).stop(true,true).fadeIn('fast');
});
HTML:
<div>
<img id="show" src="http://img14.imageshack.us/img14/9698/29588166.jpg" alt=""/>
</div>
和css:
div {background:red; width:0px;}
正是我所追求的謝謝jfriend00! :-D – Filth 2012-02-29 01:52:16
@JordyVialoux - 我調整了一點加上'.stop(真)'所以它的表現好一點,如果你去輸入/輸出迅速。 – jfriend00 2012-02-29 01:58:38