Autor | Zpráva | ||
---|---|---|---|
jiřina Profil |
#1 · Zasláno: 10. 1. 2009, 08:34:56 · Upravil/a: jiřina
Na první dotaz jsem nedostal žádnou odpověď, tak se zkusím zeptat jinak.
Zobrazuji fotky přes lightbox a chtěl bych počítat počty zobrazení Odkaz na stránky. Mám dva scripty: <script language="javascript" type="text/javascript" src="ajax.js"></script> <script language="javascript" type="text/javascript" src="../../lightbox2.js"></script> Ve scriptu ajax.js je funkce pojmenovaná LinkClick, která zajišťuje započítání kliknutí. Ve scriptu lightbox2.js je spousta funkcí, které se starají o efektní zobrazení fotek po kliknutí na miniatury v záhlaví stránky. Odkaz na fotky vypadá takto : <a href="http://url" onclick="LinkClick('<?php echo $id?>');" rel="lightbox2" " ><img height=103 src="<?php echo $odkaz ?>"</a> Pokud mám odkaz napsán takto, tak funguje lightbox2, když z odkazu vymažu rel="lightbox2" funguje počítání zobrazení po kliknutí. Ptám se: lze onclick a rel zkombinovat tak, aby v jednom odkazu fachčilo oboje? V JS se skoro vůbec nevyznám, jinak bych se takto neptal. Děkuji za jakoukoliv ( rozumnou ) odpověď. Jiřina |
||
Časová prodleva: 10 dní
|
|||
peta Profil |
#2 · Zasláno: 20. 1. 2009, 13:10:58
V prvni rade mi konzola chyb pri nacteni stranky vyhlasi problemy s
padding, cursor, class / z-index. Po kliknuti na fotku nahore mi JS nehlasi zadny problem. Coz muze byt problem osetreni tveho ajaxu vuci chybam nebo obecny problem prohlizece, aby neznervoznoval uzivatele. Kazdopadne se zda, ze je vse ok. Generovany kod odkazu vypada takto: <a href="http://www.werawerk.cz/ktwera/080614_MCR_Nachod/full/21.jpg" onclick="LinkClick('378');" rel="lightbox2" title="Kvalifikace na MČR 14.6.2008 v Náchodě " target="_blank"><img src="fotogalerie/small/080614_MCR_Nachod/small/21.jpg" alt="Kvalifikace na MČR 14.6.2008 v Náchodě" height="103"></a> Cili se zda, ze tam take problem nebude. Ted je uz otazka, co dela lightbox, protoze on nemusi prepsat html kod, aspon by to jako generovane nebylo videt, ale pritom muze prepsat akci onclick svym kodem. function initLightbox() co to dela? for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "lightbox2")){ anchor.onclick = function () {showLightbox(this); return false;} } } prepisuje vsechny onclick tam, kde najde parametr rel='lightbox' Staci jako odpoved, ze treba tuto funkci upravit a pridat do ni tvou funkci oncliku? |
||
jiřina Profil |
#3 · Zasláno: 20. 1. 2009, 19:31:46 · Upravil/a: jiřina
Zdravím,
nejsem specialista na JS nedokážu si s ním poradit. Z netu jsem sehnal dva scripty ajax ( na který se odkazuje funkcí onclick ) a lightbox ( který jde spustit přes rel ). Pokud je v odkazu jak onclick tak rel - dojde k efektnímu zobrazení fotky přes lightbox, ale nedojde k započtení kliknutí přes ajax. Když vymažu z odkazu rel -fotka se zobrazí bez efektu v novém okně a dojde k započtení kliknutí. Potřeboval bych ty dva scripty zkombinovat nebo odkaz upravit tak , aby se po kliknutí efektně zobrazila fotka a zároveň došlo k započtení. Odkaz na lightbox Zde je výše citovaná část z lightboxu - netuším, jak bych to měl upravit. // initLightbox() // Function runs on window load, going through link tags looking for rel="lightbox". // These links receive onclick events that enable the lightbox display for their targets. // The function also inserts html markup at the top of the page which will be used as a // container for the overlay pattern and the inline image. // function initLightbox() { if (!document.getElementsByTagName){ return; } var anchors = document.getElementsByTagName("a"); // loop through all anchor tags for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "lightbox2")){ anchor.onclick = function () {showLightbox(this); return false;} } } ajax.js // JavaScript Document function LinkClick($param) {var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Tvůj prohlížeč nepodporuje AJAX! Obrať se na admina o vysvětlení."); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { document.getElementById('status').innerHTML="Your click was logged!"; } } xmlHttp.open("GET","plus.php?odkaz="+$param); xmlHttp.send(null); } Přesto děkuji za pokus mi pomoci. |
||
Kajman_ Profil * |
#4 · Zasláno: 21. 1. 2009, 16:30:07
Nestačí dát onclick z a do img?
|
||
jiřina Profil |
#5 · Zasláno: 21. 1. 2009, 17:36:01 · Upravil/a: jiřina
„Nestačí dát onclick z a do img?“
Zkusil jsem to a je to funkční. Geniální a přitom jednoduché. Tisíceré díky. Dokonce chápu i proč :-D |
||
Časová prodleva: 15 let
|
0