Хорошо. Я здесь совершенно запутался.
У меня есть список с горизонтальной прокруткой, который, когда вы больше не можете прокручивать, кнопка/стрелка меняет цвет (через addClass removeClass). Моя скрипка работает (почти) отлично. С другой стороны, мой код не...
Скрипка: http://jsfiddle.net/4rKPT/8/
jQuery:
$(document).ready(function() {
var $item = $('div.mainBodyContentListItem'),
//Cache your DOM selector
visible = 2,
//Set the number of items that will be visible
index = 0,
//Starting index
endIndex = ($item.length / visible) - 1; //End index
$('div.mainBodyContentArrowR').click(function() {
if (index < endIndex) { //can scroll
index++;
$item.animate({
'left': '-=592px'
});
}
});
$('div.mainBodyContentArrowR').click(function() {
if (index > endIndex) { //can't scroll
$('div.mainBodyContentArrowR').addClass('disable');
}
});
$('div.mainBodyContentArrowR').click(function() {
if (index < endIndex) { //can scroll
$('div.mainBodyContentArrowL').removeClass('disable');
}
});
$('div.mainBodyContentArrowL').click(function() {
if (index > 0) { //can scroll
index--;
$item.animate({
'left': '+=592px'
});
}
});
$('div.mainBodyContentArrowL').click(function() {
if (index < 0) { //can't scroll
$('div.mainBodyContentArrowL').addClass('disable');
}
});
$('div.mainBodyContentArrowL').click(function() {
if (index > 0) { //can scroll
$('div.mainBodyContentArrowR').removeClass('disable');
}
});
});
Это работает так, как должно (за исключением того, что я не понял, как исправить проблему, связанную с возвратом влево и повторным нажатием на конец прокрутки, как это было при загрузке страницы, не добавляет класс обратно и не меняет цвет - обращайтесь, но это не тема этой темы).
Мой фактический код делает это правильно в этом случае:
$('div.mainBodyContentArrowR').click(function() {
if (index < endIndex) { //can scroll
$('div.mainBodyContentArrowL').removeClass('disable');
}
});
Но больше нигде. Я в тупике здесь. Странно то, что линия, которую я описал выше, работает правильно. Класс «отключить» удаляется при первом щелчке, а затем эти строки addClass removeClass ничего не делают (прокрутка вперед и назад работает и останавливается правильно).
Пожалуйста, любая помощь приветствуется. У меня такое чувство, будто я просто смотрю на 50-футовую кирпичную стену и просто не вижу своего пути сквозь нее или через нее.