Determine which scroll bar is currently in use

I'm running into an issue with multiple scrollbars on my page - they just don't seem to be functioning correctly:

 <div class="dates-container" v-for="id in ids">
    <overlay-scrollbars
      :ref="`datesHeader`+id"
      :options="datesScrollOptions"
      :key="id"
    >
 </div>
  ......
  handleScroller() {
    this.$nextTick(() => {
      if (this.$refs[`datesHeader${this.currentRoom}`][0]) {
        const inst = this.$refs[`datesHeader${this.currentRoom}`][0].osInstance();
        if (inst == null) return;
        const state = inst.getState();
        if (state.hasOverflow.x) {
          inst.scroll({ x: 0 });
        }
        this.updateScrollButtons();
      }
    });
  },

The function works fine as it is now. However, the challenge arises when I need to figure out which specific scrollbar has been moved and how to update this.currentRoom accordingly;

Answer №1

First of all, there is an error in the :ref value - it should be

:ref="`datesHeader-${id}`"

After that, on onMounted you can attach event listeners to $refs

onMounted() {
 this.$refs['datesHeader-0'].addEventListener('scroll', watchFunc)
}

For more information, check out the documentation: https://developer.mozilla.org/pl/docs/Web/API/EventTarget/addEventListener

Don't forget to remove event listeners in onBeforeUnmount

Additionally, using IntersectionObserver could be beneficial for tracking scroll events

For details, see the documentation: https://developer.mozilla.org/enUS/docs/Web/API/Intersection_Observer_API

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Socket.io connects two clients together in a room

Currently, I am working on integrating private messaging functionality into an app I am developing using express 3 and socket.io. Upon a client connection, a room is automatically created and joined based on the client's user id. This feature serves ...

Unable to access the property '__reactAutoBindMap' as it is undefined

I've been struggling with setting up server side rendering with React for the past week. It's a new project using an express server and I'm trying to render a simple hello world react app that utilizes react-router-component. To get some he ...

Unable to transform dynamically loaded text area into CKEditor

Executing the get_content function upon a link click. function get_content(n) { var hr=new XMLHttpRequest(); var url="./updatecontent.php"; var vars="id="+n; hr.open("POST",url,true); hr.setRequestHeader("Content-type","application/x-w ...

Encountering Timeout Issues with Reading Streams on Amazon S3 using Express.js

I am currently facing an issue with streaming videos from an Amazon S3 Bucket. It seems that everything works perfectly when calling my REST endpoint once, but the problem arises when trying to stream the video simultaneously from multiple browsers. The er ...

Utilizing Typescript for parsing large JSON files

I have encountered an issue while trying to parse/process a large 25 MB JSON file using Typescript. It seems that the code I have written is taking too long (and sometimes even timing out). I am not sure why this is happening or if there is a more efficien ...

Challenges with jQuery: Appending strings to a dynamically selected element

Hello everyone, I have a question regarding adding the string 'url(" ")' around my Any assistance you can provide would be greatly appreciated. Thank you! $(function() { $('#list li a').hover( function(){ $("#meow").css( " ...

Parent's hover element

I am currently working with the following loop: <?php if( have_rows('modules') ): $counter = 0; while ( have_rows('modules') ) : the_row(); ?> <div class="col span_4_of_12 <?php if($counter == 0) { ?>firs ...

Utilizing ES6, accessing the first element of an array of objects

How can I access the values of the first or a specific object in an array based on an index using ES6? arrayOne =[ { child: [ {e1: 'ABCD', e2: 'BCDF'}, {e1: '1234', e2: '5689'}, {e1: 'QAZ ...

Troubleshooting: Issues with Ajax loading page and click functionality in jQuery

Why won't my ajax function properly? Here are the details of my pages. I am using JQuery to monitor click events and implement ajax for loading the responder page. Can you spot any issues in this code snippet? index.php <html> <head ...

Encountering a "Parsing error: Unexpected token, expected ";" " when developing a React application with the provided code

I am currently working on developing a React application, and I have encountered an issue in my app.js file regarding the render function. Despite being new to JavaScript, I am unable to figure out why this error is occurring. Apologies if it is due to a s ...

Leveraging Vue slots to display a component inside another component

I am currently working on creating a base modal component that can be re-used, utilizing slots to insert the modal content. The issue I am facing is that when the modal is triggered by clicking a button, it displays without any content present. How can I e ...

Steps to address vulnerabilities in @vue/cli

I am currently working on a vuejs-3 project and aiming for 0 vulnerabilities. However, upon running npm install, I encounter 48 vulnerabilities with the current version of node and npm. Even after trying npm audit fix --force, the issue persists. Can anyon ...

Capturing Screenshots with Ionic Framework

I am currently working on an Ionic application that utilizes geolocation via the Google API. However, I am facing a challenge with implementing a feature where a button in the upper right corner should take a screenshot and trigger a popover with options t ...

Guide to organizing an HTML table column with a header click using PHP and MySQL

I am currently working on a table that displays data from a MySQL database. I would like to implement functionality that allows users to click on certain columns to sort them in ascending or descending order. However, I am unsure of whether to use PHP, H ...

React code is displaying as plain text and the components are not being rendered properly

My latest creation is a component named "componentRepeater" with the main purpose of displaying multiple instances of child components. The props within the "componentRepeater" include properties for the child components, the number of repeats for the chil ...

Is it possible to duplicate this jQuery/Javascript feature using PHP?

I have the code to fetch tweets in JavaScript, but I need it converted to PHP. Can anyone provide any guidance on how to achieve this? $(document).ready( function() { var url = "http://twitter.com/status/user_timeline/joebloggs.json?count=1 ...

Adjust positioning of navigation when hovered over

Need help creating a cool navigation effect like this. Live example: https://hookandbarrelrestaurant.com/ Here is my code: https://codepen.io/Dhaval182/pen/rQPMoW ...

What steps are involved in integrating OpenCV into a JavaScript project?

After recently installing OpenCV via npm using this guide: https://www.npmjs.com/package/opencv I'm facing a simple question. How can I actually utilize the OpenCV library in my project? The site provides a face detection example code snippet: cv.r ...

divide a JSON list

Within this JSON array, there is a plethora of person data, each with their own specified type such as "hr" or "accounting". The structure of the JSON array is depicted below: { "0": { "id": "2", "name": "blabla", "type": "hr" ...

Steer clear of manually inputting URLs in your React components

As I embark on my journey with Gatsby, I am noticing a recurring pattern in my code. A prime example is when creating links, where I often find myself doing something like this: import {kebabCase} from "lodash"; // ... <Link to={`tags/${kebabCase( ...