問題

3
jQuery

スクロールについてくるメニューを作ろう

jQueryの問題に挑戦しよう!

問題

スクロールについてくるメニューを作ろう

今回はデモのようにメニュー一覧がスクロールしてもついてくるようにしましょう!

あらかじめエディタに書くコード

                    <ul class="menu">
  <li>メニュー</li>
  <li>ホーム</li>
  <li>コンタクト</li>
  <li>アクセス</li>
  <li>ニュース</li>
</ul>
¥HTML¥
                
                    body{
  height: 2000px;
}
.menu{
  border: 2px solid black;
  width: 200px;
  list-style: none;
  text-align: center;
  padding: 0;
  position: absolute;
  top: 0;
}
li:first-of-type{
  border-bottom: 2px solid black;
  background-color: #eeeeee;
}
li:not(:first-of-type){
  cursor: pointer;
}
¥CSS¥
                

期待する画面

解答と解説(スクロールについてくるメニューを作ろう)

解説

LINE登録して解答を見る

※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます

まずwindowというのは表示されている部分という認識でいいと思います。そしてそれがスクロールされることをトリガーとしてscrollTopでwindowの高さを取得し、それを変数に入れておきます。そしてmenuのcssをanimateを使ってtop:y(animateのcssは数字だけ与えられるとpxを自動でつけてくれる)とすることで位置を変更し、animateの第二引数に数字をいれることでアニメーションにかかる時間を調節できます。

さらにスキルアップしたい方は公式LINEから「jQuery」と送信すると動画が見れます。

LINE登録して動画を視聴する
学習の事・キャリアの事、何でもOK!無料相談に申し込む