Heim > Artikel > Web-Frontend > Oben festgelegte Navigation basierend auf jquery, reagiert auf Browser-Bildlaufleisten-Events_jquery
Heute möchte ich mit Ihnen eine Navigation teilen, die oben basierend auf JQuery fixiert ist. Wenn sich die Navigationsleiste oben befindet, ist die Navigationshöhe höher. Wenn der Browser nach unten scrollt, wird die Navigationshöhe automatisch angepasst reduziert und oben positioniert. Das Rendering ist wie folgt:
Implementierungscode:
HTML-Code:
<div id="page"> <div id="toolbar" data-0="height:192px" data-128="height: 64px"> <div id="actions"> <div class="icon"> <svg viewbox="0 0 24 24" x="0px" y="0px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="menu"> <path d="M3,18h18v-2H3V18z M3,13h18v-2H3V13z M3,6v2h18V6H3z"> </path> </g> </svg> </div> <div class="spacer"> </div> <div class="icon"> <svg viewbox="0 0 24 24" x="0px" y="0px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="search"> <path d="M15.5,14h-0.8l-0.3-0.3c1-1.1,1.6-2.6,1.6-4.2C16,5.9,13.1,3,9.5,3C5.9,3,3,5.9,3,9.5S5.9,16,9.5,16c1.6,0,3.1-0.6,4.2-1.6l0.3,0.3v0.8l5,5l1.5-1.5L15.5,14z M9.5,14C7,14,5,12,5,9.5S7,5,9.5,5C12,5,14,7,14,9.5S12,14,9.5,14z"> </path> </g> </svg> </div> <div class="icon"> <svg viewbox="0 0 24 24" x="0px" y="0px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="more-vert"> <path d="M12,8c1.1,0,2-0.9,2-2s-0.9-2-2-2c-1.1,0-2,0.9-2,2S10.9,8,12,8z M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,10,12,10z M12,16c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,16,12,16z"> </path> </g> </svg> </div> </div> <div id="title" data-0="font-size: 48px; padding: 0 0 24px 12px;" data-128="font-size: 18px; padding: 0 0 21px 60px;"> Page Title </div> </div> <div id="content" data-0="padding-top: 192px;" data-192="padding-top: 190px;"> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> <div class="card"> Content goes here! </div> </div> </div> <script src='jquery.js'></script> <script src='skrollr.min.js'></script> <script> $(document).ready(function () { skrollr.init({ smoothScrolling: true }); }); //@ sourceURL=pen.js </script>
CSS-Code:
html, body { background: #fafafa; color: #1BBBFB; font-family: sans-serif; } #page { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } #toolbar { display: block; position: fixed; width: 100%; z-index: 10; box-sizing: border-box; -moz-box-sizing: border-box; background-color: #1BBBFB; padding: 0 16px; } #actions { position: relative; display: flex; align-items: center; flex-direction: row; height: 64px; top: 0; left: 0; right 0; } #actions .icon { padding: 7px; margin: 2px; vertical-align: middle; } #actions .spacer { flex: 1; } #actions svg { display: inline-block; pointer-events: none; position: relative; vertical-align: middle; width: 24px; height: 24px; fill: #fff; } #title { padding: 21px; position: absolute; bottom: 0; color: #fff; } #content { display: block; position: relative; padding: 24px; } .card { display: block; position: relative; width: 60%; height: 100px; border: 1px solid #1BBBFB; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background-color: #fff; margin: 16px auto; padding: 24px; }