質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

8814閲覧

jQueryのslideDownがカクカクするので、別の方法を探してます!

nyakki

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2019/03/13 16:36

もう下記コードのままなんですけど、#wrapperを「にゅーん」とスライドさせながら表示したいんですが、どうやったら上手にできますか?

jQueyrのslideDownだとカクカクするからイヤなんですよね…

次のように考えて、CSSでtransition: 0.5s; としたのですが、これだと「にゅーん」が表現できませんでした。

どうやったら、カクカクしない「にゅーん」が作れますでしょうか?

動くサンプル:https://jsfiddle.net/36u20qzx/

html

1<p>クリックしたら#wrapperを「にゅーん」とスライドさせながら表示したい。<br> 2ただしjQueryのslideDownはカクカクするからイヤなんです。</p> 3 4<div id="header">クリック</div> 5 6<div id="wrapper" class="close"> 7 <ul> 8 <li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li><li>list</li> 9 </ul> 10</div>

css

1#header { 2 background: #eee; 3 border: 1px solid #000; 4 border-radius: 50px; 5 text-align: center; 6 cursor: pointer; 7} 8#wrapper { 9 background: thistle; 10 transition: 0.5s; 11} 12#wrapper.close { 13 height: 0; 14} 15#wrapper.open { 16 height: auto; 17}

jQuery

1$(function(){ 2 $(document).on("click","#header:not(.click)",function(){ 3 $(this).addClass('click'); 4 $('#wrapper').removeClass('close').addClass('open'); 5 }); 6 $(document).on("click","#header.click",function(){ 7 $(this).removeClass('click'); 8 $('#wrapper').removeClass('open').addClass('close') 9 }); 10});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2019/03/14 00:35

カクつくというsampleのソースをアップしてください jQueryのバージョンと使っていればライブラリ、 検証しているOS、ブラウザの種類、バージョンを付記してください
guest

回答2

0

slideDownがカクカクするなんて!?
slideDown愛好家(ウソ)として見過ごす訳にはいかなったので、
あえてslideDownで!

→ JSFiddle

投稿2019/03/15 04:11

Yousuck

総合スコア349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Verocity.jsというライブラリがjQueryと互換性があって便利です。
公式サイトは英語ですが、日本語でも情報がたくさんあるので、「Vecocity.js スライドダウン」などで調べてみてください。

滑らかなアニメーションの他に、jQueryではアニメーションさせることのできない transform などのCSSもアニメーションさせることができるなど、便利な機能があります。

補足
jQueryのアニメーションは、画面の更新間隔に合わせずにアニメーションするので「カクツキ」(または「コマ落ち」)が発生します。
Velocity.jsでは、画面の更新間隔に合わせてアニメーションすることで、滑らかな動きを実現しています。
詳しくはrequestAnimationFrameなどの単語で調べてみてください。

投稿2019/03/13 16:55

編集2019/03/13 16:55
NozomuIkuta

総合スコア1260

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問