Я создал простое портфолио для отображения некоторых изображений. Я хотел бы добавить кнопку, которая прокручивает вниз один «элемент» за раз, например, кнопку pagedown.
У меня есть код, который работает только при первом нажатии кнопки, и я не могу понять, почему. В консоли.log кажется, я не могу получить правильную переменную y
после прокрутки.
$('#gdb1').click(function() {
var h = $(window).height();
var y = $(document).scrollTop(); //your current y position on the page
var inc = (h + y);
console.log(y);
$("#carousel").animate({
scrollTop: inc
}, 600);
return false;
});
#button {
display: block;
background-color: red;
position: fixed;
padding: 22px top: 0;
left: 0;
cursor: pointer;
z-index: 11111;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<div class="gdbox" id="button">
<div id="gdb1" class="gdbutton fontwhitenshadow">DOWN</div>
</div>
<div id="carousel" class="snap">
<div class="element">
<div class="imgbox" style="background-color:#1a2342">
<div class="shadow"></div>
<img class="center-fit" src="https://via.placeholder.com/850.jpg">
</div>
</div>
<div class="element">
<div class="imgbox" style="background-color:#1a2342">
<div class="shadow"></div>
<img class="center-fit" src="https://via.placeholder.com/850.jpg/red">
</div>
</div>
<div class="element">
<div class="imgbox" style="background-color:#1a2342">
<div class="shadow"></div>
<img class="center-fit" src="https://via.placeholder.com/850.jpg">
</div>
</div>
<div class="element" id="scroller">
<div class="imgbox" style="background-color:#1a2342">
<div class="shadow"></div>
<img class="center-fit" src="https://via.placeholder.com/850.jpg">
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>