$(document).ready(function() {
$("#contact_menu").click(function() {
$(body).scrollTo("#contact", 800);
});
});
我在我的代码中输入了这个,希望它会使我的页面滚动,但我不会工作。我尝试了几种方法,但我无法做到正确。
我希望你们中的一个可以帮助我。
尝试这个:
$("#contact_menu").click(function() {
$("body").animate({
scrollTop: $("#contact").offset().top
}, 2000);
});
jsFiddle:http: //jsfiddle.net/hescano/43umh/
如果您打算使用 jQuery 滚动到某处,请使用.scrollTop
:
$(document).ready(function() {
var pos = $('#contact').position();
$("#contact_menu").click(function() {
$(body).animate({scrollTop:pos.top},800);
});
});
尝试
$(document).ready(function() {
$("#contact_menu").click(function() {
$('body, html').animate({ scrollTop: $("#contact").offset().top }, 800);
});
});
我不知道“scrollTo”功能,但如果这确实存在,问题可能出在选择器上。根据浏览器的不同,您必须为 body 或 html 对象设置动画。我通常对 scrollTop 进行动画处理是这样的:
$('html,body').animate({ scrollTop: $('#contact').position().top+'px'}, 400, function() {})
请注意,我选择了 400 毫秒的持续时间,但你可以使用任何你想要的。最后一个“function()”参数是回调,这意味着它在动画完成时被调用。希望这有帮助。