Execute a jQuery function every time the class of the parent container div changes

I am seeking to trigger the function below whenever its containing div parent

<div class="section">...</div>
transitions to an "active" state, for example:
<div class="section active">...</div>

$(".skills-grid__col").each(function () {
    var left = $(this).data('left');
    $(this).animate({
        opacity: 1,
        left: left
    }, 1200);
});

<div class="section">
    <div class="skills-grid__col"></div>
    <div class="skills-grid__col"></div>
</div>

What type of event would be appropriate in this scenario?

Answer №1

There are limitations when it comes to working with events in older browsers.

If removing support for IE10 is acceptable, you have the option to utilize a MutationObserver that will detect changes in the element :

var observer = new MutationObserver(function(mutations) {
  if ($yourElement.hasClass('active')) {
     // perform actions
  }
});
observer.observe($yourElement[0], {attributes: true});

If dropping IE10 support is not an option and you prefer not to continuously check the element, your best bet would be to intercept the section where the class changes. Additionally, you could create a workaround by periodically verifying the class if window.MutationObserver is undefined.

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

Hitting a button causes Ajax.load to malfunction

Struggling to make ajax.load method work when clicking a button. The concept is simple: swap out the content of a div with something else using ajax.load. However, despite hours of research, I have yet to find a solution. Pressing the button does nothing. ...

React: Trying to use the map function on an empty array will result in an error

I am currently facing an issue while trying to populate a shopping cart with items. Even though I have initialized the cart as an empty array, I keep encountering the following error: TypeError: cart.map is not a function ProductContext.js:34 addItemToCar ...

Boost Page Text Size Using CSS

Possible Duplicate: Allowing users to adjust font size on a webpage My goal is to create webpages where users can click an image to increase the font size of all content. Is this achievable? If so, how would I go about implementing it? I am aware that ...

What are the best ways to utilize getElementById in React?

As a beginner in React, I am attempting to create an auto text animation for my project. While I have successfully implemented it in VanillaJS, I am facing challenges with doing the same in React. import React, { Component } from 'react' class A ...

javascript resize canvas to fit content

Is there a way to crop an HTML canvas based solely on its content? I've been using strokeText to create the canvas content, making it tricky to determine the actual size. Would it be possible to loop through each pixel of the canvas, or is there a mo ...

Retrieving multiple checkbox values using JavaScript

When submitting a form using ajax and jquery, I encountered an issue with multiple checkboxes that are not posting values to the database. Here is the relevant HTML/PHP code snippet: while($row = mysql_fetch_assoc( $result )) { echo '<input ...

When I attempt to conceal the filter within mat-table using *ngIf, I encounter an issue where I am unable to read the property 'value' due to it being

After creating a mat-table, I encountered an issue when trying to show and hide my input filter area using a button. If I use *ngIf="showInputFilter" to hide the filter area, I receive the error message Cannot read property 'value' of u ...

Having trouble generating a readable output bundle due to the following error message: "The entry module cannot be found: Error: Unable to resolve './src/index.js'"

I'm currently working with Webpack version 6.14.8 within an Asp.net Core Razor Pages project in Visual Studio 2019. My objective is to generate a readable output file, and here's the directory structure I've set up: |-->wwwroot -----> ...

Querying val results in an empty string being returned

In my application, I have the following HTML code snippet: <tr style="cursor:pointer;"> <td>100101</td> <td>Monkey</td> <td>Nuts<td> <td>Cow</td> <td>Soup</td> <t ...

Angular 2: Obtaining the caret position in a contenteditable 'div'

Take a look at this code snippet: <div #test (click)="onClick(test)" contenteditable="true"> This text can be edited by the user. </div> @ViewChild('test') el:ElementRef; constructor(private elementRef: ElementRef) {} ...

Start Vue.js development server with SSL enabled (for secure HTTPS serving)

Issue with Development Environment: Recently, I encountered an obstacle related to enforcing HTTPS on external hosts as explained in "Deprecating Powerful Features on Insecure Origins". This problem arose because I have my development setup on my laptop an ...

Import JSON Data into Angular-nvD3 Chart (AngularJS)

I am seeking help to load encoded JSON Data retrieved from a database via queries into an Angular-nvD3 graph. I am unsure about the best approach to achieve this task. The encoded JSON data is fetched using API queries from a database table called PRODUCT ...

The dropdown feature stores and displays only the initial value

After resolving my previous question (link), I am now facing a new issue where the value of the name field is only reflecting the first item in the dropdown list. Let me explain further. I have two dropdown menus, where selecting an option in one (A) dyna ...

How can I incorporate a spinning cog from Font Awesome into a jQuery click event?

I am looking to incorporate a spinning font awesome cog while the data is being fetched and remove it once the process is complete. Here is the HTML snippet that needs to be inserted: <i class="fa fa-spin fa-cog"></i> And this is the accompa ...

Obtain a PDF file from a Java web service through streaming with a POST request

I am currently working on a webservice that is accessed using the POST method: @Path("/ficheAction/") @POST @Consumes({ MediaType.APPLICATION_JSON }) @Produces("application/pdf") public Response ficheAction(final ParamSyntheseFicheActionDto para ...

Issue with submitting input fields that were dynamically added using jquery

I created a table where clicking on a td converts it into an input field with both name and value. The input fields are successfully generated, but they do not get submitted along with the form. In my HTML/PHP : <tr> <f ...

Is it possible for a website administrator to view the modifications I have made to the CSS and HTML code?

Is it possible for a website to detect any temporary changes made to their CSS or Html through developer tools, even though these changes are not permanent? ...

Utilizing Ajax to Invoke Wordpress Functions from a Client's Browser

Currently working on setting up a WordPress website integrated with WooCommerce, while also developing an HTML5 app for my small online store. I am looking to utilize Ajax to call WordPress functions like search directly from my HTML5 app and receive the r ...

Event listener in JavaScript for Bootstrap 5 modal

Currently, I am utilizing Bootstrap v5.1.3 along with vanilla JavaScript, but it appears that I have misunderstood how to set up modal event listeners. Below is my current setup for two modals: var firstModal = new bootstrap.Modal(document.getElementById(& ...

Difficulty in extracting data from child elements of JSON documents

Below is the JSON String: "book_types": { "type": "1", "books": [ { "name": "default", "cover": null, "lastUpdated": { "microsecond": 114250, "ctime": "Fri Aug 9 01:27:45 ...