Sticky navbar
This commit is contained in:
parent
51f2277fd4
commit
9eac829d0f
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div :class="{ 'site-header': true, 'enabled': menu_shown }">
|
<div :class="{ 'site-header': true, 'enabled': menu_shown, 'detached': detached }">
|
||||||
<div :class="{ 'site-background': true, 'enabled': menu_shown }"></div>
|
<div :class="{ 'site-background': true, 'enabled': menu_shown }"></div>
|
||||||
<div class="site-header-inner">
|
<div class="site-header-inner">
|
||||||
<header>
|
<header>
|
||||||
@ -62,8 +62,24 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu_shown: false,
|
menu_shown: false,
|
||||||
|
scrollY: 0,
|
||||||
|
originTop: 0,
|
||||||
|
detached: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
window.addEventListener('scroll', (e) => {
|
||||||
|
this.scrollY = Math.round(window.scrollY);
|
||||||
|
})
|
||||||
|
this.originTop = this.$el.getBoundingClientRect().top;
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
scrollY(newValue) {
|
||||||
|
const rect = this.$el.getBoundingClientRect();
|
||||||
|
const newTop = this.scrollY;
|
||||||
|
this.detached = newTop > 64;
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -124,6 +140,9 @@ export default {
|
|||||||
.site-header.enabled .site-header-inner {
|
.site-header.enabled .site-header-inner {
|
||||||
background: rgba(0,0,0,0.5);
|
background: rgba(0,0,0,0.5);
|
||||||
}
|
}
|
||||||
|
.site-header.detached .site-header-inner {
|
||||||
|
background: rgba(0,0,0,0.5);
|
||||||
|
}
|
||||||
header {
|
header {
|
||||||
@apply flex flex-col transition duration-300 ease-in-out;
|
@apply flex flex-col transition duration-300 ease-in-out;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user