Autor | Zpráva | ||
---|---|---|---|
ondra256 Profil |
#1 · Zasláno: 26. 7. 2014, 21:54:09
Zdravím,
dělám slider a chci aby se plynule měnily obrázky jdu na to takto $("#slider_img").fadeOut(2000);// zmizeni stavajciho obrazku $("#slider_img").attr("src",novyObrazek); // zmena src atributu v img $("#slider_img").fadeIn(2000); // objeveni noveho obrazku Kód se ale vykoná tak, že nejdříve změní obrázek, následně zmizí a poté se znova objeví. Jak se dá vyřešit tato situace? Zkoušel jsem funkci delay, ale ta nefunguje. |
||
Virtus Profil |
#2 · Zasláno: 26. 7. 2014, 22:27:35
Zdravím,
tohle by snad mohlo pomoct: $("#slider_img").fadeOut(2000, function() { $("#slider_img").attr('src', novyObrazek); $("#slider_img").fadeIn(2000); }); jinak zde odkaz na celý vlákno, odkud je uvedená část kódu: http://stackoverflow.com/questions/12696881/jquery-fadein-fadeout-img-change |
||
ondra256 Profil |
#3 · Zasláno: 27. 7. 2014, 16:22:03
Jo super díky funguje.
Jen ještě jeden dotaz. Chci aby se slider automaticky přepínal po 10 sekundách a aby měl uživatel možnost přepnout slidy sám manuálně (šipkama). Což jsem díky zdrojáku, který jste mně poskytli dal dohromady. Mám funkci pro automatické přepínání obrázků function automaticSwitchSlide(){ $("#slider_img").fadeOut(2000, function() { nextImage(); $("#slider_img").attr("src",basePath + i + ".jpg"); $("#slider_img").fadeIn(2000); setTimeout(function(){automaticSwitchSlide()},10000); }); } Problém je v tom, že když manuálně přepnu slidy, tak se funkce automaticSwitchSlide nerestartuje, ale pořád pokračuje, takže se další slide automaticky nepřepne po 10 sekundách, ale už třeba po 2. Potřeboval bych proto ve funkci pro manualni prepinani zastavit automaticke prepinani, poté přepnout obrázek a znovu zavolat funkci pro automatické přepínání. tím by se dodrželo těch 10 sekund. Jen nevím jak zastavit funkci automaticSwitchSlide. Můžete mně někdo poradit? děkuju |
||
rafej Profil |
#4 · Zasláno: 27. 7. 2014, 17:18:47
Zrušit časovač lze pomocí funkce
clearTimeout .
Nejdřív si uložíš časovač do proměnné - změň řádek 6 takto: var tm = setTimeout(function(){automaticSwitchSlide()},10000); A až budeš chtít časovač zrušit, tak takto: clearTimeout(tm); tm .
Pro pokračování stačí znovu zavolat funkci automaticSwitchSlide .
|
||
Časová prodleva: 10 let
|
0