次のようにスクロール ビューポートを実装する Web サイトを求められました (http://www.beoplay.com/Products/BeoplayA3#at-a-glance)。私は多くの scrollTo 関数を試しましたが、この jaja に夢中になっています。このコードでは、2 div まで 1 回スクロールしますが、その後スクロールを停止します。皆さん、ありがとうございました。これはコードです:
<html>
<head>
<style>
div {
color:blue;
}
p {
color:green;
}
.div_height {
height: 1000px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id = "1" class="div_height"><h1>First</h1></div>
<div id = "2" class="div_height"><h1>Second</h1></div>
<div id = "5" class="div_height"><h1>Third</h1></div>
<script>
var lastScrollTop = 0;
var lastId = 1;
var complete = 1;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if(complete >0){
complete = 0;
if (st > lastScrollTop){
// down
if (lastId != 3 ){
$('html, body').animate({scrollTop: $('#'+(lastId+=1)).offset().top}, 1000/*, function (){ alert('finish down'); complete=1;}*/);
};
} else {
// up
if (lastId != 1 ){
$('html, body').animate({scrollTop: $('#'+(lastId-=1)).offset().top}, 1000/*, function (){ alert('finish up'); complete=1;}*/);
};
};
complete = 1;
lastScrollTop = st;
}
});
</script>
</body>