У меня есть функция, которая скользит div по горизонтали, манипулируя левым значением. Все работает хорошо, я могу заставить его прокручивать вправо и влево просто отлично, с чем у меня возникают проблемы, так это с моими утверждениями if, которым я верю, и срывающими прокрутку. Я измеряю левое значение div и знаю нижний и верхний предел его перемещения на основе измерений div и экрана. Но это не остановит прокрутку, даже когда левое значение намного превышает пределы в любом направлении. Кроме того, первый оператор if проверяет, являются ли панели скрытыми и нуждаются ли в прокрутке, для чего предназначены переменные panelWidth и portWidth. Не уверен, что мои переменные не обновляются или какие-либо предложения? Спасибо заранее.
Код JQuery
function portfolioSlider() {
var portWidth = $(window).width()-440;
var panelsWidth = panels * 221;
var portDifference = panelsWidth - portWidth;
if (panelsWidth < portWidth) {
}
else if(panelsWidth > portWidth) {
var leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
var upperLimit = 220;
var lowerLimit = 220 - portDifference;
var hoverInterval;
if(leftPosition >= lowerLimit, leftPosition <= upperLimit) {
$(".arrow_right").css('display','block').css('opacity','1')
$(".arrow_left").css('display','block').css('opacity','1')
$(".arrow_right").hover(
function() {
hoverInterval = setInterval(
function() {
$('#web').css('left','-=2');
leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
},10);
},
function() {
clearInterval(hoverInterval);
}
);
$(".arrow_left").hover(
function() {
hoverInterval = setInterval(
function() {
$('#web').css('left','+=2');
leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
},10);
},
function() {
clearInterval(hoverInterval);
}
);
}
else {
}
};
};
portfolioSlider()
HTML на самом деле не имеет значения, это просто div с панелями изображений в нем, который отлично работает. Еще раз спасибо за любые предложения.