我的页面如何向下滚动,平滑滚动

时间:2013-09-30 06:17:03

标签: jquery html

我用脚本平滑滚动我的页面,但脚本不起作用我很困惑我错了请帮帮我

我的脚本是:

$(".scroll").click(function(event){
     event.preventDefault();
     //calculate destination place
     var dest=0;
     if($(this.hash).offset().top > $(document).height()-$(window).height()){
          dest=$(document).height()-$(window).height();
     }else{
          dest=$(this.hash).offset().top;
     }
     //go to destination
     $('html,body').animate({scrollTop:dest}, 1000,'swing');
 });

我在锚点标签中使用了.scroll这个类型:

<a class="scroll" href="#bot">Click here</a>

请帮帮我!

1 个答案:

答案 0 :(得分:0)

为了平滑滚动,我建议使用它:

(稍微修改了我在github上找到的脚本 - 虽然我不记得原作者 - 从我的一个项目中抓过它)

jQuery.fn.anchorAnimate = function(settings) {

settings = jQuery.extend({
        speed : 1100
}, settings);

return this.each(function(){
    var caller = this
    $(caller).click(function (event) {
        event.preventDefault()
        var locationHref = window.location.href
        var elementClick = $(caller).attr("href")

        var destination = $(elementClick).offset().top;
        $("html:not(:animated),body:not(:animated)").animate({
            scrollTop: destination
        }, settings.speed, function() {
                window.location.hash = elementClick
        });
        return false;
    })
})
}

然后这样称呼它:

jQuery(document).ready(function($) {

    $(".menu li a").anchorAnimate({
        speed: 600
    });

});