screen_rotation
Copied to Clipboard
<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> </head> <body> <div id="app"> <h3>Vue Get Element Scroll Position</h3> <div ref="myElement" style="height:200px; width:300px; overflow:auto;"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sagittis massa nec est iaculis, nec faucibus augue lacinia. Proin ut consectetur mauris. Fusce commodo mauris vel orci bibendum, ut eleifend sapien commodo. Nam mollis, eros a imperdiet tristique, mi nisi dictum mi, vel aliquam nisl elit vel tortor. Donec sodales, velit ut porttitor vulputate, arcu enim vestibulum arcu, ut molestie massa nibh eu nulla.</p> <p>Nulla id magna auctor, posuere velit quis, dictum tellus. Duis sed ullamcorper nunc, euismod euismod sapien. Etiam eleifend vestibulum nisi, eu dictum erat dignissim eget. Nullam efficitur mi vel risus ultricies vestibulum. Pellentesque consequat velit ac arcu dignissim, vel fermentum justo viverra. Aenean laoreet pretium ante non pharetra. Praesent gravida eget purus id feugiat. Aliquam sit amet turpis sapien. Suspendisse interdum volutpat odio vel semper. Sed sed tellus nec dolor bibendum elementum. Etiam vel augue ex. Etiam venenatis, nisi non pulvinar pharetra, ex magna feugiat risus, ac auctor justo nibh vel nisl.</p> </div> <p>Scroll Top: {{positionTop}}</p> <p>Scroll left: {{positionLeft}}</p> </div> <script type="module"> const app = Vue.createApp({ data() { return { positionTop: 0, positiontLeft: 0 } }, mounted() { const el = this.$refs.myElement; el.addEventListener('scroll', () => { this.positionTop = el.scrollTop; this.positionLeft = el.scrollLeft; }); }, }) app.mount('#app') </script> <style scoped> #app { display: flex; flex-direction: column; align-items: center; } </style> </body> </html>