Я работаю над созданием глупого простого слайдера изображений jQuery с нуля без использования библиотек контуров или плагинов.Я новичок в jQuery, но сталкиваюсь с ошибкой, которая кажется такой глупой простой.
Я определяю переменную вне функции .click (), а затем, когда я пытаюсь вызвать эту переменную внутри .click (), она считается неопределенной.Странно то, что я могу назвать другие переменные.Есть мысли?
Вот скрипка ползунка
Вот HTML:
<div class="slider">
<ul>
<li><img class="slide img-fluid" src="http://via.placeholder.com/1000x500?text=1"></li>
<li><img class="slide img-fluid" src="http://via.placeholder.com/1000x500?text=2"></li>
<li><img class="slide img-fluid" src="http://via.placeholder.com/1000x500?text=3"></li>
<li><img class="slide img-fluid" src="http://via.placeholder.com/1000x500?text=4"></li>
<li><img class="slide img-fluid" src="http://via.placeholder.com/1000x500?text=5"></li>
</ul>
<span id="prev">⇺</span>
<span id="next">⇻</span>
</div>
Вот JS
// Set Targets
var next = $('#next');
var prev = $('#prev');
var slides = $('.slider ul')
// Build the var to animate the length of the img
var imgWidth = "-=" + ($('.slider img').first().width());
// Find number of imgs
var numOfSlides = $('.slider ul li').length;
// Set Slidecount to 1
var slideCount = 1;
// When next btn is clicked
next.click(function(){
// Check vars in console
console.log(numOfSlides + " Slides");
console.log(slideCount); <-------------- This is being marked as undefined
// Check to see if there are more slides
if (slideCount < numOfSlides) {
// Slide the images
slides.animate({'margin-left': imgWidth}, 1000);
// Add one to slide count
slideCount++;
// If there are no more images, reset margin to 0 and return to first
} else {
// Animate margin to 0
slides.animate({'margin-left': 0}, 1000);
// Resent counter to 1
var slideCount = 1;
}
});
Когда я нажимаю на следующую стрелку, я вижу, что это напечатано в консоли - это странно, потому что numOfSlides показывает, что имеет значение, но это не slideCount, который не имеет.

EDIT : Когда я строил скрипку, я увидел эту всплывающую ошибку, в которой говорилось, что мой var находится вне области видимости?Но почему другой var собирается работать внутри этой функции?