2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ハンバーガーメニューデザインの提案 Ver.2

Posted at

最初に

前回に引き続きバージョン2を作成

ハンバーガーメニュー作成の前にメニューデザインについていろんなWebサイトを調べてみた.
メニューを全画面に配置しているのが最近の流行りだと感じた.
そこで,今回は全画面に表示されるメニューを作成.

以下,全画面表示されるハンバーガーメニューが実装されているWebサイトリンク.

DEMO

gif

codepen
github

今回はハンバーガーをクリックすると上部から垂れてくるメニューを作成.

中身の説明

下が丸い長細い棒が上から5本落ちてくるイメージ

html
<div class="hbg-menu-contents">
  <div class="ball1"></div>
  <div class="ball2"></div>
  <div class="ball3"></div>
  <div class="ball4"></div>
  <div class="ball5"></div>
</div>

クリック前は画面外に隠している

css
position: fixed;
top: -100px;
width: 20%;
height: 100px;
border-bottom-left-radius: 500px;
border-bottom-right-radius: 500px;

縦長の棒の横の長さを20%として,それぞれ20%ずつずらして配置

css
.ball1 {
   left: 0;
}
.ball2 {
   left: 20%;
}
.ball3 {
   left: 40%;
}
.ball4 {
   left: 60%;
}
.ball5 {
   left: 80%;
}

クリック後に縦の長さを伸ばしている

css
height: 200%;

JavaScriptで落下のタイミングをずらしている

js
setTimeout(() => {
    $(".ball1").toggleClass("open");
  }, 100);
  setTimeout(() => {
    $(".ball2").toggleClass("open");
  }, 150);
  setTimeout(() => {
    $(".ball3").toggleClass("open");
  }, 200);
  setTimeout(() => {
    $(".ball4").toggleClass("open");
  }, 250);
  setTimeout(() => {
    $(".ball5").toggleClass("open");
  }, 300);

  setTimeout(() => {
    $(".menu").toggleClass("active");
  }, 400);
})

最後に

知らないうちにハンバーガーメニューはとても進化していた...

以上

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?