| 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: 10 let
|
|||
0