29 lines
679 B
Vue
29 lines
679 B
Vue
<script>
|
|
export default {
|
|
props: {
|
|
item: { covers: {} },
|
|
},
|
|
methods: {
|
|
scrollFunction() {
|
|
let element = document.getElementById(this.item._id);
|
|
let bounding = element.getBoundingClientRect();
|
|
let scrollDown = bounding.top < 56;
|
|
let scrollUp =
|
|
bounding.top + bounding.height >
|
|
(window.innerHeight || document.documentElement.clientHeight);
|
|
if (scrollDown) {
|
|
element.scrollIntoView({
|
|
behavior: "smooth",
|
|
block: "start",
|
|
});
|
|
} else if (scrollUp) {
|
|
element.scrollIntoView({
|
|
behavior: "smooth",
|
|
block: "end",
|
|
});
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|