JavaScript と CSS3 を使用してフェードアウトとフェードインを作成しようとしています。目標は、クリックすると div の幅が縮小し、それに含まれるテキストが同時にフェードアウトするようにすることです。その後、もう一度クリックすると、div が元の幅に戻り、テキストがフェード インします。
HTMLは次のとおりです。
<div id="box1" onclick="slide1()">
<p class="fader">Lorem ipsum.</p>
</div>
CSSは次のとおりです。
#box1 {
position:relative;
left:0%;
top:0%;
width: 70%;
height: 100%;
background-color: #666;
z-index:4;
}
これがJavaScriptです:
var box1
var fader
window.onload = function() {
box1 = document.getElementById('box1');
fader = document.getElementsByClassName('fader');
}
function slide1(){
if(box1.style.width=='10%'){
box1.style.width='70%';
fader[0].style.opacity='1';
fader[0].style.transition='opacity 0.25s ease-in';
}
else {
box1.style.width='10%';
fader[0].style.opacity='0';
fader[0].style.transition='opacity 0.75s ease-in';
}
}
フェードアウトでは機能しますが、フェードインでは不透明度0から不透明度1にすぐに移行します...フェードインはありません。何か案は?