Autor | Zpráva | ||
---|---|---|---|
crooner Profil * |
#1 · Zasláno: 1. 2. 2013, 19:05:03
Dobrý večer, mám opět oříšek, mám tento kód:
$(document).ready(function() { $('#slideshow').cycle({ fx: 'fade', prev: '#preview', next: '#next', pause: 1, speed: 4000, timeout: 2000 }); }); </script> |
||
shaggy Profil |
#2 · Zasláno: 1. 2. 2013, 19:30:44
Prečo si myslíš, že každý na tomto fóre pozná všetky jQuery pluginy? Ja neviem, čo je to jQuery.cycle, netuším aké má možnosti a nastavenia (a keďže ty tušíš, o aký plugin ide, tak ti nič nebráni, aby si si pozrel dokumentáciu). Ak to v dokumentácii nie je/plugin to nepodporuje, tak si to budeš musieť doprogramovať.
|
||
crooner Profil * |
#3 · Zasláno: 1. 2. 2013, 21:20:02 · Upravil/a: crooner
prečo si myslíš, že si môj otec, že sa mi snažíš dávať nepodstatné rady?
Pro ostatní, kteří by měli chuť se s tím zabývat, prošel jsem stovky zahraničních webů, vyzkoušel několikery postupy, ale bezúspěšně, proto doufám, že se najde někdo kdo s tím má zkušenost. |
||
Kcko Profil |
crooner:
Mrkni se sem http://jquery.malsup.com/cycle/ http://jquery.malsup.com/cycle/options.html Vyhotov nějaké demo když si nebudeš vedět rady a já se na to podívám. |
||
crooner Profil * |
#5 · Zasláno: 2. 2. 2013, 09:35:23
tak zásek, jak se prosím tvoří podmínka v jquery, když nastavení pluginu viz. první příspěvek je od fx, po timeout a samozřejmě spousta dalších možností, který momentálně automaticky mění obrázky, ale nevím jak udělat podmínku pro stisk tlačítka a zadat změnu efektu jen na stisknutí a pak vrátit kod zpět na automatické měnění s původním efektem. což už se mi s velkýma chybama povedlo, ale změnil se efekt na trvalo. někde jsem našel tuto nápovědu, ale nejsem z toho chytrej. tady muj kod, je to samozřejmě nesmyslně napsaný, ale aby jste pochopili o co mi jde:
$(document).ready(function() { $('#slideshow').cycle({ fx: 'fade', prev: '#preview',.click(function() {$('#slideshow').cycle({fx: 'scrollHorz', timeout: 1});}); next: '#next', pause: 1, speed: 4000, timeout: 2000 }); }); |
||
shaggy Profil |
#6 · Zasláno: 2. 2. 2013, 11:59:08
crooner:
Napriek tomu, že nie som tvoj otec a ty sa správaš neskutočne drzo, tak ti zase poradím - prečo si to neskúsil podľa toho odkazu, ktorý si nám dal? Prečo ten kód píšeš inak? Tam to máš presne vysvetlené, ako to máš zapísať, čo čakáš od nás, že to odtiaľ prepíšeme sem? On tam používa šípky doprava a doľava, ty chceš iba jeden smer, tak použiješ iba jeden "odkaz", nič zložité. |
||
Jan Kupka Profil |
#7 · Zasláno: 2. 2. 2013, 12:34:44
Ahoj, plugin tuhle možnost zabudovanou do sebe nemá, musíš si to doprogramovat sám. Buď můžeš použít postup ze Stack Overflow nebo to můžeš provést třeba takhle:
http://jsfiddle.net/jankupka/zjtXV/ V options objektu, který předáváš do cycle metody, vlastnosti "prev" a "next" neuváděj, to jen nabinduje click eventy na ovládací tlačítka. Ty tam ale potřebuješ vpasovat ještě tu změnu efektu. |
||
shaggy Profil |
#8 · Zasláno: 2. 2. 2013, 13:35:25
Jan Kupka:
Uvedomuješ si, že ten tvoj zápis je takmer totožný, ako na SO, akurát si to zbytočne obalil do x anonymných funkcií? |
||
crooner Profil * |
#9 · Zasláno: 2. 2. 2013, 14:03:23 · Upravil/a: crooner
děkuji, postup ze Stack Overflow, jsem samozřejmě zkusil! A samozřejmě funguje, bohužel pouze na automatický cyklus, při změně "div.right_arrow a" a ...left_arrow.... na mé id což je preview a next bohužel tlačítka nefungují. Honzo děkuji,ale i tvůj způsob reaguje pořád stejně budu tam mít někde chybu. Hodím sem kod, mě to přijde všechno stejný:/
jquery var slideIndex = 0; var nextIndex = 0; var prevIndex = 0; $(document).ready(function() { $('#slideshow').cycle({ fx: 'fade',//fx: 'scrollHorz', // choose your transition type, ex: fade, scrollUp, shuffle, etc... timeout: 8000, speed: 1000, easingIn:20, easingOut:40, after: function(currSlideElement, nextSlideElement, options) { slideIndex = options.currSlide; nextIndex = slideIndex + 1; prevIndex = slideIndex -1; if (slideIndex == options.slideCount-1) { nextIndex = 0; } if (slideIndex == 0) { prevIndex = options.slideCount-1; } } }); }); $('#next').click(function () { $('#slideshow').cycle(nextIndex, "scrollRight"); }); $('#preview').click(function () { $('#slideshow').cycle(prevIndex, "scrollLeft"); }); a html <a id="preview" href="#"><div class="preview"></div></a> <a id="next" href="#"><div class="next"></div></a> <div id="slideshow"> <div class="bg1"></div> <div class="bg2"></div> <div class="bg3"></div> <div class="bg4"></div> <div class="bg5"></div> </div> |
||
Jan Kupka Profil |
crooner:
Bindování eventů: $('#next').click(function () { $('#slideshow').cycle(nextIndex, "scrollRight"); }); $('#preview').click(function () { $('#slideshow').cycle(prevIndex, "scrollLeft"); }); i deklaraci proměnných: var slideIndex = 0, nextIndex = 0, prevIndex = 0; zařaď do anonymní funkce v $(document).ready(). Pokud tomu správně rozumím, obrázky se ti mění, jen ti nefungují tlačítka? Je možné, že máš někde chybu v JS (mimo kód, co jsi sem vložil), třeba překlep nebo zapomenutý znak. Podívej se do konzole, jestli tam není něco vypsané (Firefox - CTRL+Shift+K / F12 pokud máš Firebug addon, Chrome - F12 a pak ESC). |
||
crooner Profil * |
#11 · Zasláno: 2. 2. 2013, 16:30:45 · Upravil/a: crooner
ach jo ach jo, obrázky se mění, i šipky fungují, ale jen když chci efekt stejný, já potřebuji automatické měnění obrázku s jedním efektem, ale když se klikne na šipku tak aby se obrázek změnil s jiným efektem
konzole žádnou chybu nepíše Tady to je! http://jsfiddle.net/trepmal/2pmXe/ A já to mam stejně. A mě to prostě co? mě to nefunguje!:/ |
||
Jan Kupka Profil |
#12 · Zasláno: 2. 2. 2013, 19:38:10
crooner:
No, máš tu fiddle s mým kódem, který vidíš, že funguje. Pak tu máš fiddle od Trepmala, který obsahuje kód ze SO a taky funguje. Pokud to máš stejně, tak to musí fungovat i tobě :-) Pokud ne, tak je chyba někde jinde a asi to tu nevyřešíme (zvlášť, když v konzoli není žádný error). Poslední věc, která mě napadá je ta, že nenačítáš full verzi Cycle pluginu, ale jen verzi lite a ta neobsahuje přechodový efekty, který se snažíš použít. |
||
Časová prodleva: 11 let
|
0