
<div class="container" id="open">
<span class="top bar"></span>
<span class="middle bar"></span>
<span class="bottom bar"></span>
</div>
¥HTML¥
.container{
position: relative;
width: 30px;
height: 30px;
background-color: #000;
padding: 10px;
cursor: pointer;
}
.bar{
position: absolute;
width: inherit;
height: 3px;
background-color: #fff;
border-radius: 5px;
}
.top{
top: 28%;
}
.middle{
top: 48%;
}
.bottom{
top: 68%;
}
¥CSS¥

解答ソースコード
#close .top{
transform: rotate(45deg);
}
#close .bottom{
transform:rotate(-45deg);
}
¥CSS¥
$(function () {
$("body").on("click","#open",function(){
$(".top").animate({top:"48%"},300),
$(".bottom").animate({top:"48%"},300,function(){
$(".middle").animate({opacity:0},0);
$(".bar").css("transition",".3s");
$("#open").attr("id","close");
});
});
$("body").on("click","#close",function(){
$("#close").attr("id","open");
$(".middle").animate({opacity:1},300,function(){
$(".bar").css("transition","none");
$(".top").animate({ top: "28%" }, 300);
$(".bottom").animate({ top: "68%" }, 300);
});
});
});
¥JavaScript¥
甲賀
なら実務レベルで使えるスキルを
体系的に学ぶことが可能です
Web制作学習は、決して楽ではありませんが
「正しい方向で」「コツコツ」と続ければ、
必ずスキルアップする事が可能です。
甲賀では、挫折せずに学習を継続するための
カリキュラム・サポート体制をご用意しています。
↓↓↓↓
ステップバイステップで
着実にスキルが身につくカリキュラム
-
step 01
初心者でもよく分かる!
Web制作の基礎の基礎1.知っておこうWeb制作に関する基礎知識の話
2.HTMLの書き方や役割を基礎から学ぶマークアップ入門
3.CSSで挫折しない為の基礎学習【超重要プロパティ】
4.基礎を終えたらHTMLコーディングを鍛えよう(デザインから)
5.初心者向けHTMLコーディング完全解説(STEP1総まとめ)
-
step 02
真似して覚えるWeb制作
(デザイン〜プログラミングまで)1.属性ってなに?などなどHTML,CSSの深堀り編
2.デザイナーから直接学ぶ猫ちゃんサイトのデザイン解説
3.鎧模写-YOROIMOSYA【銅の鎧】
4.JavaScriptで学ぶプログラミングの基本のきほん【16項目】
-
step 03
動きをつけたり、効率化!
脱初心者を目指すためのスキルを学ぼう1.jQueryの基本的な使い方から応用まで【プラグイン解説あり】
2.Web制作でCSSを簡単に書くためのSASS入門【小技あり】
3.現場で使うCSS設計の考え方参考サイトを元に解説
4.生のJavaScriptだけで英単語アプリを作ろう(音声読み上げ付き)
-
step 04
ここまでくれば中級者!
ちょこっと応用編のWeb制作1.JavaScriptの屋敷【鳳凰の間】
2.JavaScriptで作るLINE風チャットボット
3.コマンドラインとアプリ操作を同時に学べるGit【15選】
4.EJSを使いコーディング力を中級者まで引き上げる
-
step 05
実務で必須の制作スキル
WordPressについて学ぶ1.鎧模写-YOROIMOSYA【銀の鎧】
2.PHPを基礎から学びたい人向け14項目から学ぶ【入門】
3.PHPで簡易的な掲示板を作ってみよう【コーディングあり】
4.甘えを吹き飛ばす!WordPress開発
5.WordPressで¥400,000の案件を徹底解説!
6.WordPress有料テーマSnow Monkeyの解体書
解説
ではいきなりbodyに対してonを指定していることに疑問を抱きませんでしたか?普通に#openにclickイベント設定すればよくない?と思うのが普通だと思います。しかし、今回は先ほど話した通りidを変更します。なのでonによって親要素から指定しています。これについては違う問題で解説しているのでそちらを参考にしてください。
今回は上と下のbarが真ん中に集まってから回転して広がるようなアニメーションなのでこのアニメーションの順番を決めてあげなければなりません。
まずattrですがここはいいでしょう。その次のanimateはanimate({cssの設定},アニメーションの時間,アニメーション終了後の処理)、と設定できるのでこのアニメーション終了後の処理にbarが開く処理を書きます。barが開く処理は簡単で、まず真ん中のバーを消し、barにtransitionで変化にかかる秒数を指定し、最後にidを変更します。そしてcssに#close .topなどをセレクタとして設定しているとid変更後にこのセレクタ内のrotateによって回転します。
ではなぜわざわざjqueryのanimateでtransform:rotateを設定しないのかと疑問に思われると思いますが、実はanimateはtransformに対応していません。なので今回はこのような面倒な処理をしました。