我有很多高度为100vh的div,比如#pg1,#pg2堆叠在一起。然后,如果我向下滚动一点点或按下箭头按钮(链接到将在右上角的图像),它将定位另一个div以平滑地占据页面的100%。
编辑:这样的事情(不完全是):http://jsfiddle.net/wofbbzjy/
<div id="pg1">Teste</div>
<div id="pg2">Teste</div>
<div id="pg3">Teste</div>
$(document).ready(function(){
$(window).scroll(function(){
var content_height = $(document).height();
var content_scroll_pos = $(window).scrollTop();
var percentage_value = content_scroll_pos * 100 / content_height;
if(percentage_value >= 0){
$('html,body').animate({
scrollTop: $('#pg2').position().top
}, 1000);
return false;
}
});
});
#pg1, #pg2 {
background-color: grey;
height: 100vh;
width: 100%;
}
#pg2 {
background-color: yellow;
}
#pg3 {
background-color: black;
}
答案 0 :(得分:0)
你的问题是什么?你想知道怎么做 - &gt;让100vh页面在滚动时相互滑动?
好。所以这就是你能做的(也许有更好的方法):
(顺便说一下,有很多开源项目可以帮到你。我强烈建议你查看它们)
答案 1 :(得分:0)
var visible = null;
function scrollTo(element){
$('html, body').animate({ scrollTop: ($(element).position().top)}, 'slow');
};
$(document).ready(function() {
visible = $('div').first();
$(window).keyup(function(e) {
if(e.which == 38) {
visible = visible.prev();
scrollTo(visible);
}
if(e.which == 40) {
visible = visible.next();
scrollTo(visible);
}
});
});