私は次のCSSを持っています:
.some-el {
width: 60%;
height: 50%;
position: fixed;
left: 20%;
right: 20%;
top: 0%;
background-color: black;
/* All vendor-prefixes */
transition: transform linear 1s;
transform: translate3d(0,-100%,0);
}
.some-el.open {
/* All vendor-prefixes */
transform: translate3d(0,0%,0);
}
このhtmlで:
<div class="some-el"></div>
<a id="open" href="#">Toggle</a>
<script>
document.getElementById('open').onclick = function() {
document.querySelector('.some-el').classList.toggle('open');
};
</script>
リンクを最初にクリックしたときはトランジションはありませんが、それ以降のすべてのクリック(開くか閉じるか)でトランジションが発生します。