调整javascript滑块,使第一张幻灯片的超时时间与其他幻灯片的超时时间不同
我试图使序列中的第一张幻灯片超时的速率与其他幻灯片的速率不同 我想我需要这样的东西——如果slide==slide.1,将timeout设置为30000,否则设置为1500 这就是我已经做到的:调整javascript滑块,使第一张幻灯片的超时时间与其他幻灯片的超时时间不同,javascript,html,Javascript,Html,我试图使序列中的第一张幻灯片超时的速率与其他幻灯片的速率不同 我想我需要这样的东西——如果slide==slide.1,将timeout设置为30000,否则设置为1500 这就是我已经做到的: var slideIndex = 1; var timer = null; showSlides(slideIndex); function plusSlides(n) { clearTimeout(timer); showSlides(slideIndex += n); } fun
var slideIndex = 1;
var timer = null;
showSlides(slideIndex);
function plusSlides(n) {
clearTimeout(timer);
showSlides(slideIndex += n);
}
function currentSlide(n) {
clearTimeout(timer);
showSlides(slideIndex = n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
var dots = document.getElementsByClassName("dot");
if (n == undefined) { n = ++slideIndex }
if (n > slides.length) { slideIndex = 1 }
if (n < 1) { slideIndex = slides.length }
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex - 1].style.display = "block";
if ('undefined' !== typeof dots[slideIndex - 1]) {
dots[slideIndex - 1].className += " active";
}
timer = setTimeout(showSlides, 15000);
}
function pauseShow() {
clearTimeout(timer);
}
var slideIndex=1;
var定时器=null;
放映幻灯片(幻灯片索引);
函数加滑块(n){
清除超时(计时器);
放映幻灯片(幻灯片索引+=n);
}
功能当前幻灯片(n){
清除超时(计时器);
放映幻灯片(幻灯片索引=n);
}
功能演示幻灯片(n){
var i;
var slides=document.getElementsByClassName(“mySlides”);
var dots=document.getElementsByClassName(“dot”);
如果(n==未定义){n=++slideIndex}
如果(n>slides.length){slideIndex=1}
如果(n<1){slideIndex=slides.length}
对于(i=0;i
我想你用更少的函数编写了更多的代码。
当我正确地看到它时,您的幻灯片索引将指示您的功能应该滑动到哪个幻灯片。
在这种情况下,您是对的,您需要:
if(slideIndex == 1) setTimeout(showSlides, 3000);
else setTimeout(showSlides, 1500);
在最后一个索引中,您还需要将slideIndex再次重置为1。这只是又一个if条款 我还建议您不要在递归函数中搜索“mySlides”。 您可以在声明函数之前搜索它,并使用全局变量。这样可以防止每次需要滑动时都在整个dom中搜索。