我試圖通過淡入淡出兩個圖像來創建徽標懸停效果。我嘗試過使用CSS,但結果看起來並不像預期的那麼好(儘管它完全適用於其他目的),所以我決定嘗試jQuery。 (忽略標籤,他們是博主)。如何使用jQuery和CSS創建圖像懸停淡入淡出效果?
這是我的第一個方法(在淡入淡出時看起來不錯,但'display:none'在第一次懸停時不能正確顯示'display:block',因此圖像從初始位置移動然後它可以追溯到那個位置徘徊時,它完美的作品。
<script type='text/javascript'>
//<![CDATA[
$(function() {
$('#MyLogoContainer').hover(function() {
$('#MyLogoHover').fadeIn('slow');
$('#MyLogo').fadeOut('slow');
}, function() {
$('#MyLogo').fadeIn('slow');
$('#MyLogoHover').fadeOut('slow');
});
});
//]]>
</script>
我的第二個辦法解決的CSS位置問題,但動畫看起來並不流體都和兩個圖像在某些時候消失幾乎完全,這看起來不太好,也沒有用我的拳頭髮生。
<script type='text/javascript'>
//<![CDATA[
$(function() {
$('#MyLogoContainer').hover(function() {
$('#MyLogoHover').fadeIn('slow').css('display','block');
$('#MyLogo').fadeOut('slow').css('display','none');
}, function() {
$('#MyLogo').fadeIn('slow').css('display','block');
$('#MyLogoHover').fadeOut('slow').css('display','none');
});
});
//]]>
</script>
問題出現在CSS中。不知何故,我必須找到一種方法,以便顯示屬性在定位這兩個SVG圖像中不發揮關鍵作用,所以我可以使用第一個jQuery代碼,而不會對我的SVG圖像的位置發生任何更改。
#MyLogoContainer {
width: 100%;
left: 50%;
margin: 0 0 0 -350px;
position: absolute;
}
#MyLogo {
width: 700px;
display: block;
position: absolute;
}
#MyLogoHover {
width: 700px;
display: none;
position: absolute;
}
,jQuery將讓這個容易得多。否則,您可以通過更改要淡入的元素的類來使用css轉換。我們需要看到更多的代碼才能夠提供幫助。 HTML的外觀如何? –
要將一幅圖像淡入另一幅圖像,兩幅圖像必須在淡入淡出的同時顯示。創建兩個圖像,一個在另一個之上。當頂部的一個消失時,將CSS'opacity'設置爲0,使用CSS'transition'。 – Aloso
https://jsfiddle.net/ahmadabdul3/mvw9xm89/1/ < - 一對夫婦的例子 –