@DenKuzmin17

Почему переменная приобретает не правильное значение?


Если нажать, например
<div class="prev" data-id="1">2</div>, а потом
<div class="slider-btn next">&gt;</div>
слайдер сдвигается на последнее изображение, вместо следующего. Почему-то "currentImg" приобретает значение "maxImages - 1", хотя указано "Math.min".
Если просто нажимать
<div class="slider-btn next">&gt;</div>
не трогая ".prev", всё работает как надо.

Как сделать, чтобы после нажатия ".prev", а затем ".next" "currentImg" приобретал значение следующего слайда, а не последнего?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
В currentImg лежит строка. Соответственно, и при сложении тоже строка получается. То есть, номер слайда, к которому вы пытаетесь перейти, вместо 2 оказывается 11.

В качестве заплатки на скорую руку можно преобразовывать значение к числу:

this.currentImg = Math.min(+this.currentImg + 1, this.maxImages - 1);

Ну а по-хорошему - вам следует разобраться, почему там строка вместо числа, и исправить это.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект