Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

529
Views
Error: $ not defined - Javascript / React

I am in the process of converting a html/css gsap navbar to React. This is returning the following error:

error '$' is not defined no-undef

I cannot seem to find any other guides on the matter that seem to relate to my issue.

import React from "react";
import "../components/Navbar.css";
import { gsap } from "gsap";
import { ExpoScaleEase, RoughEase, SlowMo } from "gsap/EasePack";

gsap.registerPlugin(ExpoScaleEase, RoughEase, SlowMo);

var t1 = gsap.timeline({ paused: true });

t1.to(".one", 0.8, {
    y: 6,
    rotation: 45,
    ease: "power3.inout"
});
t1.to(".two", 0.8, {
    y: -6,
    rotation: -45,
    ease: "power3.inout",
    delay: -0.8
});
t1.to(".menu", 2, {
    top: "0%",
    ease: "power3.inout",
    delay: -2
});
t1.staggerFrom(".menu ul li", 2, { x: -200, opacity: 0, ease: "power3.inout" }, 0.3);

t1.reverse();
$(document).on("click", ".toggle-btn", function () {
    t1.reversed(!t1.reversed());
});
$(document).on("click", "a", function () {
    t1.reversed(!t1.reversed());
});

export const Navbar = () => {
    <div>
        <div className="toggle-btn">
            <span className="one"></span>
            <span className="two"></span>
        </div>

        <div className="menu">
            <div className="data">
                <ul>
                    <li><a href="/">Return Home ➔</a></li>
                    <li><a href="/">Companies</a></li>
                    <li><a href="/">About</a></li>
                    <li><a href="/">Contact Us</a></li>
                </ul>
            </div>
        </div>
    </div>
}

export default Navbar;
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

There are two places where you reference $:

$(document).on("click", ".toggle-btn", function () {
    t1.reversed(!t1.reversed());
});
$(document).on("click", "a", function () {
    t1.reversed(!t1.reversed());
});

This looks like jQuery, so you need to add the jQuery library or convert this to vanilla js.

about 4 years ago · Juan Pablo Isaza Report

0

You can't use $(document).on without importing JQuery.

You either need to import JQuery, or find another solution without using $(document).on

Solution using Javascript only

Replace this:

$(document).on("click", ".toggle-btn", function () {
    t1.reversed(!t1.reversed());
});

with this:

document.addEventListener('click', function(event) {
    if (event.target.classList.contains("toggle-btn")) {
      t1.reversed(!t1.reversed());
    }
});
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!