when updating location.hash in Chrome the jQuery animation "freezes" for a second
        Posted  
        
            by ubunut
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by ubunut
        
        
        
        Published on 2010-04-08T08:39:56Z
        Indexed on 
            2010/04/08
            8:43 UTC
        
        
        Read the original article
        Hit count: 427
        
I'm trying to create a sort of "virtual gallery". I'm using Coda Slider 2.0 & jQuery v1.4.2
It behaves perfectly in IE, FF & Safari, but Chrome seems to reload/hang for a second when setting location.hash. This causes the jQuery animation to freeze for a second :S
Example: http://hardyernst.dk/gallery.html try clicking on the navigation links above the pictures.
The jQuery code that is being executed when clicking a navigation link:
        $('#coda-nav-' + sliderCount + ' a').each(function(z) {
        // What happens when a nav link is clicked
        $(this).bind("click", function() {
            offset = -(panelWidth*z);
            navClicks++;
            $(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
            alterPanelHeight(z);
            currentPanel = z + 1;
            $('.panel-container', slider).stop().animate({ left: offset }, settings.slideEaseDuration, settings.slideEaseFunction, function(){
            if (!settings.crossLinking) { return false; } // Don't change the URL hash unless cross-linking is specified
            });
        });
    });
if I add
return false;
at the end of the function. The animation will slide smoothly :)... BUT as you might have guessed the location.hash value remains unchanged :(
I have tried setting the location.hash earlier in the function alas it did not change the behavior in Chrome
Would be immensely grateful for any help :)
Regards Ubunut
© Stack Overflow or respective owner