【问题标题】:animate after jquery scrolljquery滚动后动画
【发布时间】:2012-05-08 03:10:27
【问题描述】:

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

我得到了这个用于动画滚动的代码:

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例子

但这不起作用,根本不起作用。

感谢您提供一些指导。提前谢谢。

【问题讨论】:

    标签: jquery scroll scrollto


    【解决方案1】:

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

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

    【讨论】:

    • 没错,又检查了 30 分钟代码,我用 stop(true, false) 进行了测试,结果完美,非常感谢您的帮助。
    【解决方案2】:

    你可以使用ScrollTo插件和OnAfter函数:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        您必须使用任何工作滚动到插件这里是滚动时动画插件之一Jquery Scrolling Plugins

        【讨论】:

          猜你喜欢
          • 2010-10-14
          • 1970-01-01
          • 2011-12-24
          • 1970-01-01
          • 2011-11-08
          • 1970-01-01
          • 2015-09-03
          • 1970-01-01
          相关资源
          最近更新 更多