Этот код, похоже, работает, когда я запускаю его с помощью простого примера списка пулей. Он правильно утверждает, что первая точка пули - это индекс 0. Вы просто вызываете функцию dec()
в неправильном месте? Обратите внимание, что когда вы нажимаете кнопку «Далее», вы регистрируете текущую позицию до того, как будет сделана смена. Я обновил код dec()
, чтобы принять параметр, чтобы показать, что я имею в виду.
$(document).ready(function() {
//sets first item to active
$('.slider-item').first().addClass('active');
function dec(prefix) {
var $this = $(this);
var current = $('.slider-items').find('.active');
var position = $('.slider-items').children().index(current);
console.log(prefix + position);
}
$('.next, .prev').click(function() {
dec("before click handled: ");
var $this = $(this);
var current = $('.slider-items').find('.active');
var position = $('.slider-items').children().index(current);
var numItems = $('.slider-item').length;
if ($this.hasClass('next')) {
if (position < numItems - 1) {
$('.active').removeClass('active').next().addClass('active');
} else {
$('.slider-item').removeClass('active').first().addClass('active');
$('.bullet').removeClass('active').first().addClass('active');
} //else
} else {
if (position === 0) {
$('.slider-item').removeClass('active').last().addClass('active');
$('.bullet').removeClass('active').last().addClass('active');
} else {
$('.active').removeClass('active').prev().addClass('active');
}
}
dec("after click handled: ");
})}); // click function
li.active {
color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="slider-items">
<li class="slider-item">A</li>
<li class="slider-item">B</li>
<li class="slider-item">C</li>
<li class="slider-item">D</li>
</ul>
<button class="prev">Prev</button>
<button class="next">Next</button>
Вы всегда хотите разместить данные полезной нагрузки в теле запроса для POST и в качестве строки запроса для GET. Каждый раз, когда API запрашивает данные, которые выглядят экстремально для URL (не может быть длиннее 2083 символов), это является ключевым показателем того, что это, вероятно, не GET.