.item:hover {
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
-webkit-transition: opacity .15s ease-in-out;
-moz-transition: opacity .15s ease-in-out;
-ms-transition: opacity .15s ease-in-out;
-o-transition: opacity .15s ease-in-out;
transition: opacity .15s ease-in-out;
}
マウスポインタを置いたときに不透明度がアニメ化されるだけで、マウスでオブジェクトを離れたときにアニメートされないのはなぜですか。
ここにデモ: http://jsfiddle.net/7uR8z/
</s></s></s></s></s></s></s></s>
あなたは:hover
疑似クラスだけにトランジションを適用していて、要素自体には適用していません。
.item {
height:200px;
width:200px;
background:red;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
.item:hover {
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
}
デモ: http://jsfiddle.net/7uR8z/6/
遷移がmouse-over
イベントに影響を与えず、mouse-out
だけに影響を与えたくない場合は、:hover
状態に対して遷移をオフにすることができます。
.item:hover {
-webkit-transition: none;
-moz-transition: none;
-ms-transition: none;
-o-transition: none;
transition: none;
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
}
私はcss/jQueryを使用して、私が快適な解決策を見つけることができました。元の問題:領域の外側に要素がぶら下がっているため、アニメーション表示中に表示を強制的に表示する必要がありました。そうすることで、大きなテキストブロックがアニメーション中にもコンテンツ領域の外側にハングするようになりました。
解決策は、メインテキスト要素を不透明度0で開始し、addClass
を使用して不透明度1に注入して移行することでした。次に、もう一度クリックするとremoveClass
になります。
私はこれを行うためのすべてのjQqueryの方法があると確信しています。私はそれをする人ではありません。 :)
だから、それは最も基本的な形では...
.slideDown().addClass("load");
.slideUp().removeClass("load");
みんな助けてくれてありがとう。
$(window).scroll(function() {
$('.logo_container, .slogan').css({
"opacity" : ".1",
"transition" : "opacity .8s ease-in-out"
});
});
フィドルをチェックしてください: http://jsfiddle.net/2k3hfwo0/2/