[英]Javascript - how do I add dynamic buttons to this slideshow?
So I'm making a slideshow with 4 divs that cycle around automatically. 因此,我正在制作一个具有4个div的幻灯片,它们会自动循环播放。 What I have works for this. 我为此所做的。 The thing I'm having diffucluty create is a few buttons at the bottoms where if your click on button three for example, it jumps to div 3 and the automatic sliding jumps there. 我要创建的问题是在底部有几个按钮,例如,如果您单击按钮3,它会跳到div 3,而自动滑动会跳到那里。 Here is my code so far... 到目前为止,这是我的代码...
<div id="slides">
<div></div> <div></div> <div></div> <div></div>
</div>
<div id="btns">
<a></a> <a></a> <a></a> <a></a>
</div>
Javascript: Javascript:
(function slideshow(){
var slides = document.getElementById('slides').children;
var btns = document.getElementById('btns').children;
var i = 0;
slides[i].style.opacity= '1';
btns[i].style.opacity= '1';
slides[i].style.zIndex= '999';
function timer(){
i = (i + 1);
var len = slides.length;
var previousSlides = slides[ (i+len-1) % len ];
var previousBtns = btns[ (i+len-1) % len ];
if (i % slides.length == 0) {
i = 0;
}
slides[i].style.opacity= '1';
slides[i].style.zIndex= '999';
previousSlides.style.opacity= '0';
previousSlides.style.zIndex= '1';
btns[i].style.opacity= '1';
previousBtns.style.opacity= '0.5';
}
setInterval(timer, 4000);
}());
This works so far, but again I have no idea how to go about making the buttons function, wherein if you click on btn[i] it jump to slides[i]. 到目前为止,它仍然有效,但是我仍然不知道如何使按钮发挥作用,其中,如果您单击btn [i],它将跳到幻灯片[i]。 I thought something along the lines of this would do the trick but it's not working. 我认为按照这种方法可以解决问题,但不起作用。
btns[1].addEventListener('click', function(){
i = 1;
});
you can do something like this hope this is what you want 你可以做这样的事情,希望这就是你想要的
for( var i = 0; i < btns.length; i++){
btns[i].addEventListener('click', function(){
//do your stuff here
});
}
<script> for( var i = 0; i < btns.length; i++){ btns[i].addEventListener('click', function(){ alert('test'); }); } (function slideshow(){ var slides = document.getElementById('slides').children; var btns = document.getElementById('btns').children; var i = 0; slides[i].style.opacity= '1'; btns[i].style.opacity= '1'; slides[i].style.zIndex= '999'; function timer(){ i = (i + 1); var len = slides.length; var previousSlides = slides[ (i+len-1) % len ]; var previousBtns = btns[ (i+len-1) % len ]; if (i % slides.length == 0) { i = 0; } slides[i].style.opacity= '1'; slides[i].style.zIndex= '999'; btns[i].style.opacity= '1'; previousSlides.style.opacity= '0'; previousSlides.style.zIndex= '1'; previousBtns.style.opacity= '0.5'; } setInterval(timer, 4000); }()); function testButton(value){ if(value == 1){ alert('Slide'+value); } } </script>
<div id="slides"> <div>Slide 1</div> <div>Slide 2</div> <div>Slide 3</div> <div>Slide 4</div> </div> <div id="btns"> <button type="button" onClick ="testButton(1);">Click Me1</button> <button type="button" onClick ="testButton(2);">Click Me2</button> <button type="button" onClick ="testButton(3);">Click Me3</button> <button type="button" onClick ="testButton(4);">Click Me4</button> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.