2017-04-06 8 views
0

私のプロジェクトでボタンがクリックされたときに隠れたクラスを追加し、隠しクラスを削除します。かなり簡単。しかし、単純に要素を隠して表示するのではなく、すぐにロールアウトしてロールアップする方法がありますか?私のJavascriptを私はここで、YET偉大なフロントエンドの男じゃないです要素を隠して公開するときに微妙なアニメーションを追加する-CSS -JS

JS

$(document).on("click", _this.sel.close, function(event) { 
    $(".update-billing").addClass("hidden"); 
    $(".billing-stats").removeClass("hidden"); 
    $(".current-cc").removeClass("hidden"); 
    event.preventDefault(); 
}); 

アニメーションについて学ぶためのいくつかの良いリソースは何ですか?

+0

あなたのjQueryを意味します。それはJavascriptではありません。とにかく、あなたが望んでいるものは、アコーディオンのようなものです。実際には、最近は静的に実装できます。 [Codepen](https://codepen.io/abergin/pen/ihlDf?editors=1100#0)の例です。 – abluejelly

+0

jQueryもJSですか?また、助けてくれてありがとう! – Bitwise

+0

jQueryはjavascript上に構築されたライブラリですが、javascriptではslideUp()やslideToggle()(jQueryのカスタム拡張機能)のようなものはjavascriptではありません。 jQueryエフェクトについては、https://jqueryui.com/effect/をご覧ください。しかし、もう一つの選択肢は、https://www.w3schools.com/css/css3_animations.aspのようなCSSアニメーションです。 – Snowmonkey

答えて

0

CSSソリューション

$(document).on("click", 'span', function(event) { 
 
    $(".slider").toggleClass("hidden"); 
 
    event.preventDefault(); 
 
});
.slider { 
 
    height: 200px; 
 
    max-height: 500px; 
 
    background-color: red; 
 
    transition-property: all; 
 
    transition-duration: .5s; 
 
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1); 
 
} 
 

 
.hidden { 
 
    overflow-y: hidden; 
 
    max-height: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="slider"> 
 
    Content 
 
</div> 
 
<span>Click me</span>

マイナス面:あなたはdiv要素の固定の高さと仕事をしなければならないとあなたが必要とするすべてのブラウザでサポートされない可能性があります:compatibility

JSソリューション

$(document).on("click", 'span', function(event) { 
 
    $(".slider").slideToggle(); 
 
    event.preventDefault(); 
 
});
.slider { 
 
    height: 200px; 
 
    background-color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="slider"> 
 
    Content 
 
</div> 
 
<span>Click me</span>

リファレンス

css transitions

.slideToggle()

+0

固定高さの注釈として、 'max-height'をアニメーション化し、上下の' padding'をアニメーション化すると、ユーザーの目をスムーズにアニメーション化し、完全に固定された高さを避けることができます。 – abluejelly

関連する問題