Извините, если этот вопрос глуп, но я новичок в jquery.Создание прокрутки влево от кнопки прокрутки вправо
У меня есть веб-страница с горизонтальной прокруткой, которая перемещается с помощью двух кнопок сверху. Кнопка, которая прокручивается вправо, отлично работает, но кнопка, которая прокручивается влево, всегда приведет вас к началу страницы независимо от того, что. Интересно, что не так с моим кодом!
WEB-страница: http://alicelanyang.com/richardhyatt/women.html
Сценарий, с стрелочкой быть один, который прокручивается вправо и стрелка кнопки налево тот, который прокручивается влево:
$(document).ready(function() {
var bodyWidth = $("body").width(),
wWidth = $(window).width(),
step = 400,
arrowButton = $("#arrow-button"),
pos = 0;
arrowButton.click(function() {
if (pos < bodyWidth) {
pos += step;
} else {
pos = 0;
}
console.log(pos);
$('body').animate({ scrollLeft: pos }, 1000);
});
$(document).ready(function() {
var bodyWidth = $("body").width(),
wWidth = $(window).width(),
step = -400,
arrowButton = $("#arrow-button-left"),
pos = 0;
arrowButton.click(function() {
if (pos < bodyWidth - wWidth) {
pos += step;
} else {
pos = 0;
}
console.log(pos);
$('body').animate({ scrollLeft: pos }, 1000);
});
});
Любая помощь приветствуется!
Вы возражаете обмена свой HTML, а? – Aer0
Ваша переменная 'pos' отличается между двумя функциями. Когда вы нажимаете правую позицию, вы переходите к 400, когда вы нажимаете налево, она переходит на -400. Вам понадобится одна переменная 'pos', доступная для обеих функций для поддержания фактической позиции. Левая стрелка должна быть 'pos-step', а стрелка вправо должна быть' pos + step'. – thepriebe
@thepriebe, который имеет полный смысл, и я здесь иду "duh!" Вы знаете, как я могу изменить код для одной позиции, но две кнопки со стрелками? –