0

在滚动动画之后或当我单击任何菜单链接但它不起作用时,我正在为徽标设置动画。

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

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);
        });

});

这是示例

但这不起作用,一点也不。

一些指导表示赞赏。提前谢谢。

4

4 回答 4

4

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

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

于 2012-05-08T03:38:31.953 回答
1

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

$(...).scrollTo( 'SomeWhere', 1600, {onAfter:function(){ 
   //Your code
} } );
于 2012-05-08T04:01:33.053 回答
0

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

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

于 2012-05-08T04:00:50.043 回答
0

您必须对插件进行任何工作滚动,这是滚动Jquery 滚动插件时要设置动画的插件之一

于 2012-05-08T06:40:55.683 回答