3
$(document).ready(function() {
    $("#contact_menu").click(function() {
        $(body).scrollTo("#contact", 800);  
    }); 
}); 

我在我的代码中输入了这个,希望它会使我的页面滚动,但我不会工作。我尝试了几种方法,但我无法做到正确。

我希望你们中的一个可以帮助我。

4

4 回答 4

5

尝试这个:

$("#contact_menu").click(function() {
        $("body").animate({
         scrollTop: $("#contact").offset().top
     }, 2000);
}); 

jsFiddle:http: //jsfiddle.net/hescano/43umh/

你在尝试这个插件吗?http://demos.flesler.com/jquery/scrollTo/

于 2013-04-15T18:59:06.403 回答
2

如果您打算使用 jQuery 滚动到某处,请使用.scrollTop

$(document).ready(function() {
    var pos = $('#contact').position();
    $("#contact_menu").click(function() {
        $(body).animate({scrollTop:pos.top},800);  
    }); 
}); 
于 2013-04-15T18:53:57.333 回答
0

尝试

$(document).ready(function() {
    $("#contact_menu").click(function() {
        $('body, html').animate({ scrollTop: $("#contact").offset().top }, 800);
    });
});
于 2013-04-15T18:57:11.103 回答
0

我不知道“scrollTo”功能,但如果这确实存在,问题可能出在选择器上。根据浏览器的不同,您必须为 body 或 html 对象设置动画。我通常对 scrollTop 进行动画处理是这样的:

$('html,body').animate({ scrollTop: $('#contact').position().top+'px'}, 400, function() {})

请注意,我选择了 400 毫秒的持续时间,但你可以使用任何你想要的。最后一个“function()”参数是回调,这意味着它在动画完成时被调用。希望这有帮助。

于 2013-04-15T18:59:15.180 回答