我有一段代码,当页面加载时,它会自动滚动到最后一个元素:
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<script src="jquery-2.1.0.js"></script>
<script src="jquery.scrollTo-1.4.3.1.js"></script>
</head>
<body>
<h1 id="begin">Begin</h1>
...
<h1 id="end">End</h1>
<script>
$(window).load(function () {
$('body').scrollTo('#end', {duration:5000});
})
</script>
</body>
</html>
我想要做的是当它到达 end 元素时,它会向上滚动到 begin 元素,然后继续该过程直到满足特定标记。
所以这里有两个问题:
答案 0 :(得分:1)
此功能可以使用
$('.go-top').click(function (e) {
e.preventDefault();
$('html,body').animate({
scrollTop:$("YourID").offset().top + 'px'
}, 'slow');});
答案 1 :(得分:1)
转到具有someID
的特定元素:
$('html, body').animate({
scrollTop: $("#someID").offset().top
}, 2000);
滚动到页面顶部:
$('html, body').animate({scrollTop: '0px'}, 300);
滚动后检查元素是否可见:
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}