1

I used a jQuery script for a parallax effect. The script works fine with older versions of jQuery (till version 1.11.3) but when I replaced it with the newest version the smooth scrolling effect didn't work. Does anyone now what part of the code isn't anymore supported?

$(document).ready(function() { 
  $('a[href*=#]').each(function() {  
    if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')   && location.hostname == this.hostname   && this.hash.replace(/#/, '')) {   
      var $targetId = $(this.hash),
        $targetAnchor = $('[name=' + this.hash.slice(1) + ']');   
      var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;    
      if ($target) {     
        var targetOffset = $target.offset().top;

             
        $(this).click(function() {
          $("#nav li a").removeClass("active");
          $(this).addClass("active");      
          $('html, body').animate({
            scrollTop: targetOffset
          }, 1000);      
          return false;     
        });   
      }  
    } 
  });
});
3
  • 2
    Check the console to see what the exact error is. Then you can debug it Commented Sep 29, 2018 at 13:23
  • whiich version of Jquery are you using Commented Sep 29, 2018 at 13:24
  • I am using jQuery 3.3.1 Commented Sep 29, 2018 at 13:26

1 Answer 1

1

It's the selector.

Replace $('a[href*=#]') with $('a[href*="#"]').

It was never a valid selector to begin with.
When they fixed it, all scripts using the flawed (but working up to then) syntax broke.

Caused quite a bit of unrest at the time, especially since a lot of "pro" WordPress themes were using it and broke over night. It was fun to watch people's reaction when they realized the product they bought was failing at what they considered to be basic functionality.

See this issue: https://github.com/jquery/jquery/issues/2824

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you. I looked at the console and it was the selector. \\# worked too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.