Javascript pomoc

…ja i dalje ne vidim u ovom kodu kojeg bacaš gdje ti se nalazi funkcija otvori_sliku() ??

<a href="#" rel="prettyPhoto" title="'.$temp['name'].'" onclick="otvori_sliku">
          <img src="'.$img.'" width="135" height="135" alt="'.$temp['name'].'" title="'.$temp['name'].'" />

Pa klikom na link se aktivira funkcija ona se nalazi u headeru evo ti obe.

Kad kliknem na sliku prvo mi izbaci alert prozor Slika otvorena kad klinem ok onda prebaci na prettyPhoto i dobijem error

<script type="text/javascript">
function otvori_sliku()
{
	alert("Slika otvorena");
};
</script>

<script type="text/javascript" charset="utf-8">

$(document).ready(function(){
	$("a[rel^='prettyPhoto']").prettyPhoto({
		animation_speed: 'fast', /* fast/slow/normal */
		opacity: 0.80, /* Value between 0 and 1 */
		show_title: true, /* true/false */
		allow_resize: true, /* Resize the photos bigger than viewport. true/false */
		default_width: 500,
		default_height: 344,
		theme: 'facebook', /* light_rounded / dark_rounded / light_square / dark_square / facebook / pp_default */
		horizontal_padding: 20
	});
});
</script>

Sad se vidi…ovdje pridružuješ funkciju na onclick event, html elementu <a>

<a href="#" rel="prettyPhoto" title="'.$temp['name'].'" onclick="otvori_sliku">
          <img src="'.$img.'" width="135" height="135" alt="'.$temp['name'].'" title="'.$temp['name'].'" />

e, sad, izmjeni ovaj dio koda da izgleda:

<a href="#" rel="prettyPhoto" title="'.$temp['name'].'" onclick="otvori_sliku('.$temp['id'].')">
          <img src="'.$img.'" width="135" height="135" alt="'.$temp['name'].'" title="'.$temp['name'].'" />

…čime ćeš postići da se parametar $temp[‘id’] prosljedi kao parametar u funkciji otvori_sliku.

Funkciju otvori_sliku, također lagano izmjeni, neka izgleda:

function otvori_sliku(ID)
{
alert("Otvorena slika ima ID: "+ID);
};

Pa vidi jel ti alert bez greške javi ID slike.

Za slučaj da ti se error javi nakon što klikneš “ok” na taj alert:

  1. ne vidim kakve to veze ima sa funkcijom otvori_sliku()

  2. metodom eliminacije ćemo lako provjeriti jel taj error povezan sa funkcijom otvori_sliku()

  3. metoda eliminacije, kao što njeno ime ti kaže…eliminiraj dio u koji sumnjaš. Ali pravilno ga eliminiraj!

  4. ako nakon eliminacije greška i dalje postoji…greška nije povezana sa tim djelom.

  5. pravilno eliminiraj na način:
    a) probaj samo zakomentirati alert liniju unutar funkcije:

    function otvori_sliku(ID)
    {
    //alert("Otvorena slika ima ID: "+ID);
    };

…na taj način smo samo uklonili vremenski delay koji je uzrokovan alertom. Možd je prettyPhoto iz nekog čudnog nepoznatog razloga osjetljiv na “čekanje”

b) Ukloni totalno funkciju onclick, tako što ju nećeš pridružit <a> elementu:

<a href="#" rel="prettyPhoto" title="'.$temp['name'].'">
          <img src="'.$img.'" width="135" height="135" alt="'.$temp['name'].'" title="'.$temp['name'].'" />

Javi opažanja, pa moremo dalje…

Radi ovako stavlja mi u Alert id slike ali svejedno poslje kad kliknem ok opet mi ne otvori sliku nego gresku na slici http://prntscr.com/6a2dk6

Aj sad eliminiraj funkciju otvori_sliku(), pa vidi jel greška ostaje.

Eliminiraj posebno na oba načina koja sam gore sugerirao!

Oba nacina isprobana i greska ista

I što ti to govori?

…znači ako greška postoji neovisno od funkcije otvori_sliku, to znači da greška nije niti uzrokovana dodavanjem funkcije na onclick. Greška ti je negdje untar prettyPhoto.

Ako nisi prije imao grešku, moraš se sjetiti što si sve mijenjao, jer mijenjajući nešto si očito uzrokovao grešku. Ja ovako napamet ne mogu znati što se dešava sa prettyPhoto…

Pa nezz evo tu ima odakle sam skinio i kako se koristi http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/#prettyPhoto

Znaš kak sam ja naučio programirat…tak jer mi se nije dalo čitat tuđe manuele…i googlat tuđa rješenja. :smile:

jbg onda nista od ovoga nego zasukat rukave i udri po dokumentacij jquerija :smiley: nema druge

Tako je…ali da si odvojiš malo vremena da pohvataš kako međusobno komuniciraju JS i PHP, tj. u kakvoj relaciji oni postoje…sve ovo ostalo proučavanje bi ti uzimalo duplo manje vremena…

Pa to i moram jer vidim da su dosta slicni ali isto tako vidim da PHP bez JS je ■■■■■ odnosno uvijek ti zatreba za neke sitnice pa svrljam po netu satima da nadjem to i na kraju ne napravim nista jer neznam nista od JS jbg, Npr pravio sam jedan gaming cms i trebalo mi je sa da kad si logiran kao admin da nemoras ic u admin dio nego da mozes dodavat ili izmjenjivat vijesti preko skocnog prozora ali nisam uspio, znaci klik na EDIT otvori se skocni prozor od tih vijesti i unutra izmjena kao u normalnoj formi i kad spremis da se prozor zatvori automatski i reloada stranicu. Vjerovatno je jednostavno al jbg :slight_smile:

U kratkim crtama, osnovno što moraš znati:
tipove varijabli (string, integer, array, assoc array) …te osnovne metode nad njima
zatim vrste petlji i logičkih direktiva: "for, while, if-else"
zatim što je funkcija, kako se postavlja, poziva…i kako joj se prosljeđuju parametri.
Tu moraš razumjeti razliku lokalnih i globalni parametara.

Učinilo mi se da ovo gore nemaš baš…a to je neka osnovna podloga za programiranje. Nakon što to savladaš, skapirat ćeš da za korištenje gornjih stvar u PHPu ili JSu su minorne razlike. (isti k****)

No za usklađivanje rada JS i PHPa, moraš kužiti gdje koji od njih nastupa…tj. gdje se izvršava client side dio programa a gdje server side. To je NUŽNO razumjeti, a samim razumjevanjem toga te nebi niti najmanje mučilo kak prosljediti s PHP-a varijablu do JS-a.

Ukratko, PHP se izvršava na serveru. Rezultat logike koja se odradi na serveru je nekakav “tekst”…taj tekst je strukturiran kao XML. No ne bilo kakav XML nego XML koji koristi oznake tagova koje će browser razumjeti. Takav XML se naziva HTML.
Od tog HTMLa imamo neke veće djelove:

<head>
<script>
<body>

head će biti direktiva browseru od kuda da povuče neke skripte kao što su CSS…
head će reći browseru o titleu dokumenta,…itd
head će reći browseru i o CSS u koji nije eksterno inkludan, nego direktno unutra napisan.

script dio sadržava “tekst” za koji browser očekuje da bude JS.
script tag može reći browseru i u kojem fileu se nalazi taj tekst sa src atributom. (znači eksterno učitavanje JS-a)

body dio sadržava nove tagove koji predstavljaju broseru “nešto”. Tu se uglavnom očekuju tagovi div, span, img, itd …koji govore browseru o elementima koji vizualno postoje na stranici. E sad, može se naći i “script” tag unutar body taga…browser to razumije.

No the point je da je taj cijeli HTML napisan od strane PHP-a. HTML je PHP-ov produkt koji se ispisuje kroz PHP-ovu funkciju echo.