お世話になります。
デバッグでも未解決だったので質問させて下さい。
・やりたいこと
下スクロールでnavbarを非表示にして、上スクロールでnavbarで表示させたいが、
navbarがheaderに固定のままでjQueryで非表示、表示の動きが再現できていません。
・試したこと
chromeの検証ツールでconsole.traceを叩く→anonymousと出た
(キャッシュ削除はしました)
・コード
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewpoint" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> 6 <title>portfolio</title> 7 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> 8 <link rel="stylesheet" href="css/style.css"> 9</head> 10<body> 11 <header class="header" id="top"> 12 <nav class="navbar navbar-light navbar-expand-md bg-light"> 13 <a class="navbar-brand" href="index.html"><p>HOME</p></a> 14 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#responsiveMenu" aria-controls="responsiveMenu" aria-expanded="false" aria-label="Toggle navigation"> 15 <span class="navbar-toggler-icon"></span> 16 </button> 17 <div class="collapse navbar-collapse" id="responsiveMenu"> 18 <ul class="navbar-nav ml-auto"> 19 <li class="nav-item"> 20 <a class="nav-link" href="#site">TITLE</a> 21 </li> 22 <li class="nav-item"> 23 <a class="nav-link" href="#about">ABOUT</a> 24 </li> 25 <li class="nav-item"> 26 <a class="nav-link" href="#portfolio">PORTFOLIO</a> 27 </li> 28 <li class="nav-item"> 29 <a class="nav-link" href="#hobbies">MY HOBIEES</a> 30 </li> 31 <li class="nav-item"> 32 <a class="nav-link" href="#contact">CONTACT</a> 33 </li> 34 </ul> 35 </div> 36 </nav> 37 </header> 38 〜中略〜 39 <script src="js/script.js"></script> 40 <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> 41 42</body> 43</html>
css
1.header { 2 position: fixed; 3 top: 0; 4 left: 0; 5 height: auto; 6 z-index: 999; 7 width: 100%; 8 transition: .5s; 9}
JS
1$(function() { 2 let $win = $(window), 3 $header = $('header'), 4 headerHeight = $header.outerHeight(), 5 startPos = 0; 6 7 $win.on('load scroll', function() { 8 let value = $(this).scrollTop(); 9 if ( value > startPos && value > headerHeight ) { 10 $header.css('top', '-' + headerHeight + 'px'); 11 } else { 12 $header.css('top', '0'); 13 } 14 startPos = value; 15 }); 16 });
あなたの回答
tips
プレビュー