Animate Scroll没有发生

时间:2014-06-28 15:18:58

标签: jquery html scroll jquery-animate smooth-scrolling

已经有100个问题,但仍然无法找到解决方案,为什么我的代码段失败

这是我正在使用的jQuery:

$("#readmore").click(function(event){
        event.preventDefault();
        var link = $(this);
        $("#readmore_div").slideToggle('slow',function(){
            if($(this).is(':visible')){ //if div is visible
                link.html('<b>Close</b>'),//Change text & scroll 
                $('html, body').animate({scrollTop : $("#readmore_div").offset().Top});
            }else{ //Revert back original text
                link.html('<b>Read More</b>');
            }
        });
    });

html()中的文字正在变好,但animate未将页面滚动到#readmore_div

任何人都可以指出错误!

2 个答案:

答案 0 :(得分:1)

在代码中用Top替换top

试试这个:

$("#readmore").click(function(event){
        event.preventDefault();
        var link = $(this);
        $("#readmore_div").slideToggle('slow',function(){
            if($(this).is(':visible')){ //if div is visible
                link.html('<b>Close</b>'),//Change text & scroll 
                $('html, body').animate({scrollTop : $("#readmore_div").offset().top});
            }else{ //Revert back original text
                link.html('<b>Read More</b>');
            }
        });
    });

的jsfiddle:

http://jsfiddle.net/QADbb/1

当前功能将按钮的文字更改为Read More并再次点击它将其滚动到#readmore_div

答案 1 :(得分:1)

试试这个:

$('html,body').animate({
    scrollTop: $('#errors').offset().top},'slow');