开发者

Fancybox stoping other jquery animation on run

Fancy box stops the jquery animation when starting . I have this js script :

        $("a[class=fancybox]").fancybox({
            'hideOnContentClick': true,
            'titlePosition'     : 'outside',
            'overlayColor'      : '#3d6开发者_开发百科a87',
            'overlayOpacity'    : 0.9
        });

        $('.portfoliobox').live('mouseenter', function(e) {
            $(this).closest('.portfoliobox').find('div.portfoliodetails').animate({marginLeft: '0', opacity: 0.8}, 200);
        });

        $('.portfoliobox').live('mouseleave', function(e) {                                    
            var $widthofdiv = $(this).closest('.portfoliobox').find('.portfoliodetails').width();
            $(this).closest('.portfoliobox').find('div.portfoliodetails').animate({marginLeft: $widthofdiv}, 200);
        //  alert($widthofdiv);
        });

when I click a FANCYBOX link located inside DIV .portfoliodetails the animation on mouseleave stops and remains frozen .

Any idea what to do ? from what I understand I need to make jQuery run the mouseleave animation.. but how ?


Try the following change to see if it helps:

Change your animation() calls to bellow:

$(this).closest(...).stop(true, true).animate(...);

by doing this you first stop any running animation and then run new animation which prevents any collision.


Solved like this : I added 2 call functions when FANCYBOX starts, at start and when it is close

        $("a[rel=gallery]").fancybox({
                'onStart': hidedetails,
            'onClosed': hidedetails,
            'titlePosition'     : 'outside',
            'overlayColor'      : '#3d6a87',
            'overlayOpacity'    : 0.9
        });
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜