Autor | Zpráva | ||
---|---|---|---|
mersi Profil |
Zdravím všetkých, riešim trochu atypickú slideshow a stretol som sa s takýmto problémom. Pomocou clone() nemôžem získat kópiu elementu. Nerozumiem tomuto chovaniu. Nemáte predstavy, prečo to funkcia nevráti klon elementu? V skripte robím kópiu rovnako viac krát a funguje to. Mám podozrenie, že to nefunguje len u <img> elementov.
Ak si dám do konzoly vypísať obsah z: $(previousSlide($carousel, index).element).find('.main-image') dostanem (normálne objekt s elementom): [<img src="assets/img/foto3.png" alt class="main-image">] Ak spravím kópiu: $(previousSlide($carousel, index).element).find('.main-image').clone() Dostanem prázdny objekt: [] Neviete čo to môže spôsobovať. Kde robím chybu. Klonovanie o pár riadkov vyššie šlape bez problémov. Akurát tam kopírujem aj event handlery. <div class="carousel"> <div class="slides"> <div class="slide"><div class="image"><a href="#"><img src="assets/img/photo1.png" alt="" class="main-image"></a></div></div> <div class="slide"><div class="image"><a href="#"><img src="assets/img/photo2.png" alt="" class="main-image"></a></div></div> <div class="slide"><div class="image"><a href="#"><img src="assets/img/photo3.png" alt="" class="main-image"></a></div></div> </div> </div> $('.slides').each(function() { var $carousel = $(this); $carousel.css({ "position": "relatives" }); $carousel.prop('index', 0); $carousel.find('.slide:gt(0)').hide(); $carousel.prepend($controlsDiv.clone(true)); // pripoji do slideshow v skripte (na inom mieste) vytvorene talcidla, tu clone funguje bezproblemov na objekt s elementom $carousel.find('.main-image').each(function(index){ // pre obrazok kazdeho slidu var $prevImage = $(previousSlide($carousel, index).element).find('.main-image').clone(); // mal by vytvorit kopiu z obrazku predosleho slidu console.log($prevImage); }); }); // vrati predosly slide function previousSlide( $carousel, index ) { var $slides = $carousel.find('.slide'); if (index-1 >= 0) { return {"index":index-1, "element":$slides.eq(index-1)}; } return {"index":$slides.size()-1, "element":$slides.eq(-1)}; } |
||
mersi Profil |
#2 · Zasláno: 12. 11. 2012, 00:53:02
|
||
joe Profil |
#3 · Zasláno: 12. 11. 2012, 01:08:41
Je tam chyba hned po spuštění - "Uncaught ReferenceError: $previousAnchor is not defined "
|
||
mersi Profil |
#4 · Zasláno: 12. 11. 2012, 11:39:15 · Upravil/a: Moderátor (editace znemožněna) 12. 11. 2012, 12:41:39
odkomentoval som to, to s nesúvisí s problémom
ide mi len o to, preco sa nespravi kopia <img> cez clone() Moderátor Chamurappi: Proč sis zamknul? Odemykám.
|
||
Časová prodleva: 11 let
|
0