我正在尝试在单击元素时使页面向下滚动150px。因此,假设您大约在页面中滚动了一半。您单击此链接,它将向下滑动150个像素。
这可以用jQuery吗?
我一直在看scrollTop和scrollTo插件,但我似乎无法连接点。
答案 0 :(得分:100)
var y = $(window).scrollTop(); //your current y position on the page
$(window).scrollTop(y+150);
答案 1 :(得分:29)
请检查一下:
$(document).ready(function() {
$(".scroll").click(function(event){
$('html, body').animate({scrollTop: '+=150px'}, 800);
});
});
单击元素时,滚动条将从当前位置滚动
150px用于向下滚动150px
答案 2 :(得分:7)
您可以使用animate
执行此操作,如以下链接所示:
http://blog.freelancer-id.com/index.php/2009/03/26/scroll-window-smoothly-in-jquery
如果您想使用scrollTo
插件执行此操作,请查看以下内容:
答案 3 :(得分:3)
你可能会追随Ariel Flesler的scrollTo插件做得非常好。
答案 4 :(得分:1)
面向新手或其他任何人的纯js解决方案。
var scrollAmount = 150;
var element = document.getElementById("elem");
element.addEventListener("click", scrollPage);
function scrollPage() {
var currentPositionOfPage = window.scrollY;
window.scrollTo(0, currentPositionOfPage + scrollAmount);
}
答案 5 :(得分:0)
HCD解决方案的更新版本可以避免冲突:
var y = $j(window).scrollTop();
$j("html, body").animate({ scrollTop: y + $j(window).height() }, 600);