在jquery滚动后动画

时间:2012-05-08 03:10:27

标签: jquery scroll scrollto

在播放动画或点击任何菜单链接但我无法正常工作时,我正在设法制作徽标动画。

我获得了动画滚动的代码:

jQuery(function() {
            jQuery('a').bind('click',function(event){
                var $anchor = jQuery(this);

                jQuery('html, body').stop().animate({
                    scrollTop: jQuery($anchor.attr('href')).offset().top
                }, 2000,'easeInOutExpo');

                event.preventDefault();
            });
        });

然后,要为徽标设置动画,如果窗口位置发生变化,我就会这样做:

jQuery(document).ready(function(){
 jQuery(window).bind('scroll',function(){
        var wscroll = jQuery(this).scrollTop();
        if(wscroll > 500){
            jQuery('#logo').delay(800).animate({
                    left:'+48px'
                    });
            }else if(wscroll < 500){
                jQuery('#logo').animate({
                    left:'-250px'
                    });
                }
                console.log(wscroll);
        });

});

Here is示例

但这根本不起作用。

赞赏一些指导。请事先提前。

4 个答案:

答案 0 :(得分:4)

注意:console.log会导致脚本在Firefox中崩溃。

另外,真正的问题是你需要在动画上使用.stop()。它似乎在不断运行动画。

答案 1 :(得分:1)

您可以使用ScrollTo插件和OnAfter功能:

$(...).scrollTo( 'SomeWhere', 1600, {onAfter:function(){ 
   //Your code
} } );

答案 2 :(得分:0)

我写了一个简单的例子,也许会帮助你。它适合我,但动画的反应很慢......不知道为什么:/

http://jsfiddle.net/pVHwY/1/

答案 3 :(得分:0)

你必须使用任何有效的滚动插件来插入动画插件Jquery Scrolling Plugins