Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums JavaScript jQ: slideToggle animation skips/jumps

  • This topic is empty.
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #23916
    Oskar
    Participant

    Hi all,

    I’ve written a short accordion-like script to show/hide an element on click. The problem is the slideToggle animation skips just before completion rendering it very ‘unsmooth’. The slideUp seems to work just fine.

    It seems to be the same across all browsers I’ve tested. At first I thought it would be fixed by removing all padding but didn’t seem to fix it.

    It can be seen here: http://lyf.dk/t/slide and the script is like this:

    Quote:
    $(document).ready(function() {
    $(‘div.news> div’).hide();
    $(‘div.news> h3’).click(function() {
    $(‘.news h3’).removeClass(‘on’);
    $(this).addClass(‘on’)
    .next(‘div’).slideToggle(‘10000’)
    .siblings(‘div:visible’).slideUp(‘10000’);
    });
    });

    Thanks in advance,
    Oskar

    #52895
    uba
    Member

    have you tried increasing the animation time?

    #69621
    noahgelman
    Participant

    I’ll tell you what, it took me 2 days of critical thinking and LOTS of trial and error, but I finally solved this problem. I’ve had the same issue. The answer is NOT the famous padding issue that makes it jump. Through some research I believed that to have been solved on jQuery 1.3.2 or something.

    The problem is with the width. ANY time the element .slideToggle( ) is attached to has a width it’ll skip/jump the ending. How much it does depends on the width. The narrower the width, the more the jump. Anyways, long story short, by adding position:relative onto the div the sliding element is in, it’ll reset the width as far as .slideToggle( ) is concerned and will no longer jump.

    I have already tested this on your link, and it fixes the entire issue. Congrats.

    I am particularly proud of this solve. I put a lot of work into it. My first big issue since I started learning jquery a couple weeks ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • The forum ‘JavaScript’ is closed to new topics and replies.