NazajNaprejKazalo

Uvod v JavaScript

6.del


Najprej si bomo ogledali, kako se dve strani lahko naložita z enim klikom. Obstajajo tri rešitve. Prva možnost je, da kreirate gumb, ki po kliku pokliče neko funkcijo. Ta funkcija naloži dve strani v različna okvirja ali odpre nova okna. Kot boste videli v primerih spodaj, to sploh ni težko. Imamo vse elemente, ki jih potrebujemo.


Kreirali smo tri okvirje. Prvega uporabimo za gumb. Prva HTML stran je uporabljena le za odpiranje in poimenovanje okvirjev. To tehniko smo spoznali že v tretjem delu pri delu z okvirji:

frames2.html

<HTML>
<HEAD>
<title>Okvirji</title>
</HEAD>
    <FRAMESET COLS="295,*"> 
  <FRAMESET ROWS="100%,*"> 
    <FRAME SRC="loadtwo.html" NAME="okv1"> 
      </FRAMESET> 
  <FRAMESET ROWS="75%,25%"> 
    <FRAME SRC="cell.html" NAME="okv2"> 
    <FRAME SRC="cell.html" NAME="okv3"> 
      </FRAMESET> 
</FRAMESET> 
</HTML>
loadtwo.html se naloži v prvi okvir - to je okvir z gumbom.

loadtwo.html

<HTML>
<HEAD>
<script language="JavaScript">
<!-- skrivanje
  function NaloziDve(stran2, stran3) {
     parent.okv2.location.href=stran2;
     parent.okv3.location.href=stran3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="gumbki">
     <INPUT TYPE="button" VALUE="2 na enkrat" onClick="NaloziDve('frtest1.html','frtest2.html')">
</FORM>
</BODY>
</HTML>
Funkcija NaloziDve() se izvrši, ko pritisnete gumb. Funkciji podamo dva tekstovna podatka (stran2 in stran3). Če si ogledate funkcijo NaloziDve() lahko vidite, da drugi okvir okv2 naloži stran, ki je definirana kot prvi tekstovni podatek pri klicu funkcije (stran2). Če uporabite več različnih gumbov za odpiranje različnih strani lahko to funkcijo večkrat uporabite. Vse kar morate narediti, je, da podate različne URL-naslove strani.
 

Druga rešitev je, da uporabite hyperlink-e. Nekateri primeri izgledajo takole:
<a href="vaslink.htm onCLick="VasaFunkcija()">
A to ne deluje na vseh platformah. Zato tega raje ne uporabljajte. Enak učinek lahko dosežemo z drugo metodo. JavaScript funkcijo lahko kličemo na sledeč način:

<a href="javascript:mojafunkcija()">Moj Link</a>
Preprosto, pa še na vseh brskalnikih deluje. Vse kar morate napisati, je javascript: in nato ime vaše funkcije kot vas 'link'. Če kličete funkcijo 'NaloziDve' iz prejšnjega primera lahko naložite dve strani s klikom na eno povezavo.
 

Tretjo možnost nalaganja dveh strani hkrati lahko kombinirate z gumbom ali s hipertekst povezavo. Pristop k stvari je malce drugačen. Sprva naložimo eno HTML-stran v en okvir:
<a href="dobiokv2.html" target"okv2">Klikni me!</a>
To že znamo. A zdaj naloženi strani dodamo onLoad dogodek. dobiokv2.html datoteka bi izgledala takole:

<HTML>
<BODY onLoad="parent.okv3.location.href='dobiokv3.html'; return true;">
bla bla bla
</body>
</html>
Seveda bi morali to dodati v vsak dokument, ki bi ga naložili v drugi okvir.

Drug pogost problem je, kako naložiti novo stran v novo okno. Okno se bo odprlo, ko bo uporabnik kliknil na povezavo. Vse kar morate narediti, je, da dodate target-lastnost vašemu tag-u. To izgleda takole:
<a href="kamorkoli.html" target="Novo Okno">Pojdi!</a>


Zdaj si bomo ogledali različne operatorje, ki jih lahko uporabimo v JavaScript-u. Z operatorji lahko skrajšate in predvsem izboljšate vase skripte. Na primer, da želite vedeti, če je neznanka x vecja od 3 manjša od 10. To bi lahko zapisali takole:

if (x>3) 
  if (x<10)
    naredinekaj();
Funkcija naredinekaj() je klicana, če velja x>3 in x<10. A obstajajo krajši zapisi za za isto stvar:
if (x>3 && x<10) naredinekaj();
&& se imenuje AND- operator (IN-operator). Obstaja pa tudi OR- operator (ALI- operator). Tega lahko uporabite, če na primer želite preveriti, če je x enak 5 ali je neka druga neznanka y enaka 17:
if (x==5 || y==17) naredinekaj();
Funkcija naredinekaj() je klicana, ko velja, da je x==5 ali y==17. Klicana je tudi, če veljata obe izjavi.
V JavaScript-u se enakosti izražajo s pomočjo == operatorja (seveda so tu se <,>,<= in >=) - kot v C/C++ programskih jezikih. Enojni = se uporablja za določanje vrednosti spremenljivk.

Za izražanje oziroma preverjanje neenakosti pa se uporablja !=.

Obstaja se veliko različnih operatorjev, s katerimi lahko izpopolnite vaše programe. Za popoln pregled nad operatorji, ki jih lahko uporabljate v JavaScript-u, uporabite dokumentacijo Netscape-a .


NazajNaprejKazalo

avtor: Žiga Mahkovec
november, 1998