Autor Zpráva
stoker
Profil
Potreboval bych na jedne strance pouzit drag&drop presouvani objektu a zaroven fotogalerii.
Ocividne ovsem dochazi k nejakemu konfliktu, kdyz se pokousim na strance nacitat oboji - viz. priklad nize
Pri nacteni stranky se zobrazi chyba:
Uncaught TypeError: Object #<HTMLDocument> has no method 'ready'

samostatne prettyPhoto i dragdrop funguje naprosto v poradku. Vyzkousel jsem i ruzne zpusoby zapisu $(document).ready().. ale bez uspechu.
Nejaky tip?

diky

<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js"></script>
<script src='./js/prettyPhoto.js' type='text/javascript' charset='utf-8'></script>

<a href='#' rel='prettyPhoto' onClick="$.prettyPhoto.open(api_gallery,api_titles,api_descriptions);">
  <img src='odkaz.jpg' >
</a>

<script type='text/javascript'>
  var api_gallery=['obrazek1.jpg','obrazek2.jpg'];
  var api_titles=[];
  var api_descriptions=[];
    
   $(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto();
   });
</script>
_es
Profil
stoker:
Nepoužívaj súčasne dve JS knižnice - jQuery a Prototype - „bije“ sa to navzájom.
stoker
Profil
toho jsem si prave vsiml, ale jak tedy docilit toho, aby byly pouzite a nebily se? :-)
nebo jine reseni galerie?
_es
Profil
stoker:
nebo jine reseni galerie?
Áno, sprav to tak, aby bol počet použitých frameworkov 0 alebo 1.
stoker
Profil
dobra, napadlo me tu cast, co se tyka galerie dat do iframe.
parada, galerie se po kliknuti na odkaz zobrazi, jenze pouze v ramci toho iframe :-(

index.html
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js"></script>
<iframe src="iframe.html"></iframe>

iframe.html
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script src='./js/prettyPhoto.js' type='text/javascript' charset='utf-8'></script>
 
<a href='#' rel='prettyPhoto' onClick="$.prettyPhoto.open(api_gallery,api_titles,api_descriptions);">
  <img src='odkaz.jpg' >
</a>
 
<script type='text/javascript'>
  var api_gallery=['obrazek1.jpg','obrazek2.jpg'];
  var api_titles=[];
  var api_descriptions=[];
    
   $(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto();
   });
</script>
_es
Profil
stoker:
Sú aj nejaké riešenia, ako kolízii zabrániť, ak pohľadáš, tak nájdeš, no rozumné riešenie je nepoužívať na stránke súčasne viac ako jeden framework.
stoker
Profil
jj, nasel jsem treba noConflict , ale nepodarilo se rozchodit.
pri nacitani v poradku, po kliknuti na odkaz se dokonce otevre okynko galerie, ale obsahuje pouze "null undefined"
a vyskoci js chyba - Uncaught TypeError: Cannot call method 'open' of undefined

<script type="text/javascript" src="./js/jquery.js"></script>
<script src='./js/prettyPhoto.js' type='text/javascript' charset='utf-8'></script>

<a href='#' rel='prettyPhoto' onClick="$.prettyPhoto.open(api_gallery,api_titles,api_descriptions);">
  galerie
</a>


<script type='text/javascript'>
  var api_gallery=['obrazek1.jpg','obrazek2.jpg'];
  var api_titles=[];
  var api_descriptions=[];
  
   jQuery.noConflict();
   jQuery(document).ready(function($){
    $("a[rel^='prettyPhoto']").prettyPhoto();
   });
</script>


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js"></script>
_es
Profil
stoker:
nasel jsem treba noConflict
Neviem, nepoužívam to, síce nechcem radiť v zlom riešení, no nie je princíp v tom, že sa treba všade na funkciu jQuery odkazovať názvom jQuery a teda nie cez názov $? Nie je jQuery použité aj inde?
Prečo ignoruješ radu? To je taký problém nájsť iné skripty len pre jeden framework?
stoker
Profil
ano, taky me to napadlo, zkousel jsem i ruzne varianty, ale pokazde nejaka chyba.
kdyz pouziju v odkazu jQuery:
<a href='#' rel='prettyPhoto' onClick="jQuery.prettyPhoto.open(api_gallery,api_titles,api_descriptions);">

zobrazi se chyba:
Uncaught ReferenceError: pp_images is not defined


OK, zkusim.
jde o to, ze vsude pouzivam prettyPhoto, takze duvod je jednotnost galerii


skvele, Lightbox2 zabral, moc diky, vse funguje.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: