feat: torna o header fixo no scroll
This commit is contained in:
parent
6b82cc5fe7
commit
f571f637d1
@ -1,45 +1,28 @@
|
|||||||
import { isSmallerThen768 } from "Helpers/MediasMatch";
|
import { isSmallerThen991 } from "Helpers/MediasMatch";
|
||||||
|
|
||||||
export default class FixedHeader {
|
export default class FixedHeader {
|
||||||
constructor() {
|
constructor() {
|
||||||
if (!isSmallerThen768) {
|
if (!isSmallerThen991) {
|
||||||
this.fixedHeader();
|
this.selectors();
|
||||||
|
this.events();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fixedHeader() {
|
selectors() {
|
||||||
var lastScroll = 0;
|
this.pageHeader = $(".page-header");
|
||||||
var timer, scrollTop, headerHeight;
|
}
|
||||||
var element = $("header.header");
|
|
||||||
|
|
||||||
$(document).scroll(function (e) {
|
events() {
|
||||||
headerHeight = element.height();
|
$(document).scroll(this.fixHeader.bind(this));
|
||||||
scrollTop = $(document).scrollTop();
|
}
|
||||||
|
|
||||||
if (scrollTop > 1) {
|
fixHeader() {
|
||||||
$("body").css("padding-top", headerHeight);
|
const topScroll = $(document).scrollTop();
|
||||||
element.addClass("fixed");
|
|
||||||
|
|
||||||
if (timer) {
|
if (topScroll > 200) {
|
||||||
window.clearTimeout(timer);
|
this.pageHeader.addClass("is-fixed");
|
||||||
}
|
} else {
|
||||||
|
this.pageHeader.removeClass("is-fixed");
|
||||||
timer = window.setTimeout(function () {
|
}
|
||||||
if (
|
|
||||||
scrollTop > lastScroll &&
|
|
||||||
scrollTop > element.height() + 20
|
|
||||||
) {
|
|
||||||
element.addClass("fixed-hide");
|
|
||||||
} else {
|
|
||||||
element.removeClass("fixed-hide");
|
|
||||||
}
|
|
||||||
|
|
||||||
lastScroll = $(document).scrollTop();
|
|
||||||
}, 50);
|
|
||||||
} else {
|
|
||||||
element.removeClass("fixed");
|
|
||||||
$("body").css("padding-top", 0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
.page-header {
|
.page-header {
|
||||||
position: relative;
|
|
||||||
padding: 28px 0;
|
padding: 28px 0;
|
||||||
background: $black-500;
|
background: $black-500;
|
||||||
|
|
||||||
@ -7,6 +6,16 @@
|
|||||||
padding: 18px 0 0;
|
padding: 18px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include mq(lg, min) {
|
||||||
|
/*fixar no topo*/
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.is-fixed {
|
||||||
|
background: rgba($black-500, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
&__wrapper {
|
&__wrapper {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 2fr 1fr 2fr;
|
grid-template-columns: 2fr 1fr 2fr;
|
||||||
@ -70,49 +79,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.minicart {
|
|
||||||
&__button {
|
|
||||||
position: relative;
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
outline: 0;
|
|
||||||
background: transparent;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
.portal-totalizers-ref {
|
|
||||||
.title,
|
|
||||||
.amount-products,
|
|
||||||
.amount-items strong,
|
|
||||||
.amount-kits,
|
|
||||||
.total-cart {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.cart-info {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.amount-items-em {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
position: absolute;
|
|
||||||
top: 4px;
|
|
||||||
right: -4px;
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
border-radius: 50%;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 9px;
|
|
||||||
line-height: 11px;
|
|
||||||
color: $white-500;
|
|
||||||
background: $blue-500;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__search-box {
|
&__search-box {
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
border-top: 1px solid $gray-500;
|
border-top: 1px solid $gray-500;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<vtex:template id="caina-header" />
|
<vtex:template id="caina-header" />
|
||||||
|
|
||||||
<main class="home"></main>
|
<main class="home" style="height: 600px;"></main>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<vtex:template id="caina-footer-newsletter" />
|
<vtex:template id="caina-footer-newsletter" />
|
||||||
|
Loading…
Reference in New Issue
Block a user