Autor | Zpráva | ||
---|---|---|---|
WencaTv Profil |
Zdravím, mám takový malý problém. Mám udělanou slideshow, ale není u ní autoplay, potřeboval bych nijak upravit script, aby slideshow mělo také fci autoplay, zde kdyžtak dokládám script:
var slideIndex = 1; showSlides(slideIndex); function plusSlides(n) { showSlides(slideIndex += n); } function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("dot"); 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].classList.remove("active"); } slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].classList.add("active"); } $("#slideshow > div:gt(0)").hide(); $(document).ready( function(){ $('#slides').innerfade({ animationtype: 'fade', speed: 'slow', timeout: 2000, type: 'random', containerheight: '117px' }); }); |
||
Fisir Profil |
#2 · Zasláno: 11. 3. 2016, 21:32:41
Reaguji na WencaTv:
Pomocí setInterval() periodicky spouštěj funkci currentSlide(1) . Nebude to sice dokonalé, ale jako základ snad stačí.
|
||
WencaTv Profil |
#3 · Zasláno: 12. 3. 2016, 09:05:06
Dobře a jak bych to měl do mého scriptu zakomponovat ?
|
||
Časová prodleva: 4 dny
|
|||
WencaTv Profil |
Tak jsem to pořešil takto:
var slideIndex = 1, playAuto = true, /* playAuto = false; <-- K zastavení AUTOPLAY */ s = 1, /* Počet sekund k zopakování obrázku */ sliderFunction = setInterval(function showSlides(n) { "use strict"; var i, slides = document.getElementsByClassName("mySlides"), dots = document.getElementsByClassName("dot"); n = slideIndex; if (n > slides.length) { slideIndex = 1; } if (n < 1) { slideIndex = slides.length; } for (i = 0; i < slides.length; i += 1) { slides[i].style.display = "none"; } for (i = 0; i < dots.length; i += 1) { dots[i].classList.remove("active"); } slides[slideIndex - 1].style.display = "block"; dots[slideIndex - 1].classList.add("active"); slideIndex += 1; checkIfIsAuto(); }, 3* 1000); function plusSlides(n) { "use strict"; showSlides(slideIndex += n); } function currentSlide(n) { "use strict"; showSlides(slideIndex = n); } function checkIfIsAuto() { "use strict"; if (playAuto !== true) { clearInterval(sliderFunction); } } Bohužel se mi vždy než se provede první změna slideru rozhodí celý slider. viz. obrázek V případě. že by někdo věděl co s tím, budu rád za radu. Také bych ocenil nijakou radu na nijakou stránku s css efektama. |
||
Časová prodleva: 9 let
|
0