Я уверен, что это очень простой вопрос, но даже после нескольких часов чтения через Stackoverflow/Google .. все равно не повезло.Горизонтальная прокрутка по нажатию кнопки (viewport + scrollLeft)
У меня есть веб-сайт с горизонтальной прокруткой, отлично работает. Теперь я добавил две кнопки в нижней части экрана (влево/вправо).
Если посетитель нажимает кнопку «вправо», я хочу, чтобы вся страница переходила к следующему разделу, который точно равен $ (окну) .width() вправо.
Моей идеей было добавить так jquery, что при нажатии кнопки ScrollLeft: $ (window) .width() + $ (window) .ScrollLeft().
Теоретически это началось бы с первого прокрутки клика вправо, точно в ширину окна просмотра. щелчок 2/3/4 начнется с текущей позиции ScrollLeft() и еще раз добавит ширину видового экрана.
JQuery, который я использую для этого является следующее (скорее всего, это несколько раздутый, JQuery не мой strongsuit)
Я попытался определения переменных, разбить его дальше и т.д. Все безрезультатно.
$(".right a").on("click", function(event) {
event.preventDefault();
$("html, body").animate({
scrollLeft: $(window).scrollLeft() + $(window).width()
}, "slow"); //Animates the scroll
});
$(".left a").on("click", function(event) {
event.preventDefault();
$("html, body").animate({
scrollLeft: $(window).scrollLeft() - $(window).width()
}, "slow"); //Animates the scroll
});
-edit-
с просьбой здесь HTML-разметку.
Изделия внутри # horz-wrap фактически прокручиваются.
<div class="sitewrap">
<div class="portfolio-wrapper">
<section id="horz-wrap">
<article class="post">
<!--section here-->
</article>
<article class="post">
<!--section here-->
</article>
</section>
</div>
<ul class="horz-nav">
<li class="left"><a href="#"><</a></li>
<li class="right"><a href="#">></a></li>
</ul>
--edit 2--
По просьбе я только что загрузил страницу, концертная версия: http://lauretf35.thirtyfive.axc.nl/laurens/test.html Спасибо!
Я не думаю, что тело, HTML должен быть оживлен, его разделы внутри, может должен показать HTML-код, а не весь код, просто основной внутри тела –
@ Lukcy Chingi, просто добавила краткую разметку HTML. Фактически сейчас работает, что при нажатии на кнопки я могу прокручивать 1 секцию вправо и назад. Однако дальше он не пойдет. Если я создаю переменную из $ (window) .width и $ (window) .scrollLeft Firebug продолжает сообщать мне, что переменная ScrollLeft остается 0. Следовательно, она только один раз прокручивается вправо, потому что после этого следующая позиция scrollLeft остается только $ (Window) .width (как видно, $ (window) .scrollLeft остается 0. – laurens1991
Все ваши разделы завернуты в портфолио-обертка ?, если да, то на клик применить JS-код к портфолио-wapper –