gpt4 book ai didi

javascript - 无法读取未定义的属性 'removeClass'

转载 作者:行者123 更新时间:2023-11-30 00:07:53 26 4
gpt4 key购买 nike

我正在尝试制作自动幻灯片,但此消息不断弹出,我不明白为什么。

HTML:

<section id="slideshow">
<div class="auto-slideshow">
<img src="img/pic1.jpg" alt="" class="slide show">
<img src="img/pic2.jpg" alt="" class="slide hide">
<img src="img/pic3.jpg" alt="" class="slide hide">
</div>
</section>

'show' 和 'hide' 类分别将显示设置为 'block' 和 'none'。

JavaScript:

autoSlideshow();

var mySlides = $('#slideshow .slide');
var slides = [];
mySlides.each(function () {
slides.push($(this));
});

function autoSlideshow() {
var index;
var next;

mySlides.each(function () {
if ($(this).hasClass('show')) {
index = $(this).index();
next = index+1;

$(this).removeClass('show').addClass('hide');
slides[next].removeClass('hide').addClass('show');

console.log('The index is: '+index);
console.log('The next one is: '+next);
};
});
setInterval(autoSlideshow, 3000);
};

非常感谢任何建议或更正。

最佳答案

首先,您应该在定义 mySlides 后调用 autoSlideshow()。然后在 next 越界时重新初始化它的值。调用 autoSlideshow 的最佳方法是将其从方法中取出:

function autoSlideshow() {
var index;
var next;

mySlides.each(function() {
if ($(this).hasClass('show')) {
index = $(this).index();
next = index + 1;
next = next >= mySlides.length ? 0 : next;

//DO WHAT YOU WERE DOING
};
});

};

setInterval(autoSlideshow, 3000);

关于javascript - 无法读取未定义的属性 'removeClass',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com