Autor Zpráva
jiřina
Profil
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
peta
Profil
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ě&nbsp;" 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
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 *
Nestačí dát onclick z a do img?
jiřina
Profil
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

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: