Till Startsidan
JavaScript.nu / DHTML-kurs / Visa/d�lj lager, �ndra inneh�ll & h�l i lager

L�R DIG DHTML
Visa/d�lj lager, �ndra inneh�ll & h�l i lager

Det script vi nu ska titta p� visar hur man kan d�lja och visa lager. L�gg m�rke till att du �ndrar attributen visibility med v�rdet hidden (osynlig) och visible (synlig). I Netscape ska det egentligen vara show och hide, fast eftersom Netscape �ven accepterar hidden och visible s� kan man alltid anv�nda dessa v�rden, b�de f�r Explorer och Netscape.
Exempel 9 - Lager visas/d�ljs
<SCRIPT LANGUAGE="JavaScript">
<!--This is one of many scripts which are available at:     *---
//--http://www.JavaScript.nu/javascript                     *---
//--This script is FREE, but you MUST let these lines       *---
//--remain if you use this script.                          *---

function visa_dolj(namn,varde)
{
if (document.all)
{
	document.all[namn].style.visibility=varde;      //Explorer 4,5 har denna hierarki
}
else if (document.layers)
{
	document.layers[namn].visibility=varde;         //Netscape 4 har denna hierarki
}
else if (document.getElementById)
{
	document.getElementById(namn).style.visibility=varde;    //Netscape 6 har denna hierarki
}
}
//-->
</SCRIPT>

Titta p� mina pengar! Du kan b�da
<A HREF="javascript:visa_dolj('magicmoney','hidden')">d�lja</A>
och
<A HREF="javascript:visa_dolj('magicmoney','visible')">visa</A>
dem.
<BR>
<DIV ID="magicmoney"><IMG SRC="pengar.gif"></DIV>

En annan mycket anv�ndbar funktion med DHTML �r att du kan skriva information till dina lager, dvs du kan �ndra vad som ska finnas i dina lager. Exemplet nedan inneh�ller ett lager med en fr�ga. Trycker man p� fr�gan s� kommer svaret p� fr�gan upp. Fr�gan har allts� ersatts av svaret.
Exempel 10 - �ndra ett lagers inneh�ll
<SCRIPT LANGUAGE="JavaScript">
<!--This is one of many scripts which are available at:     *---
//--http://www.JavaScript.nu/javascript                     *---
//--This script is FREE, but you MUST let these lines       *---
//--remain if you use this script.                          *---

function andra_innehall(txt)		//�ndrar texten
{
if (document.all)
{
	document.all["tallager"].innerHTML=txt;		//Explorer har denna hierarki
}
else if (document.layers)
{
	document["tallager"].document.open();
	document["tallager"].document.write(txt);		//Netscape 4 har denna hierarki
	document["tallager"].document.close();
}
else if (document.getElementById)
{
	document.getElementById("tallager").innerHTML=txt;    //Netscape 6 har denna hierarki
}
}
//-->
</SCRIPT>

<DIV ID="tallager" STYLE="position:absolute"><A STYLE="text-decoration: none" HREF="javascript:andra_innehall('Svar: 25')">Vad �r 5<SUP>2</SUP></A></DIV>

Om du vill kan du g�ra s� att ett lager endast visar information i en viss del av lagret. H�r har vi ett lager med en massa text, fast bara en del av texten visas - det som visas genom "h�let" som vi gjort i lagret:
Exempel 11 - H�l i lagret
<DIV ID="textblock" STYLE="position:absolute; background-color:lightgreen; clip: rect(10,75,50,10)">
Hejsan hej p� er alla.
<BR>
Jag vet att du inte kan se hela denna text,
<BR>
s� jag antar att det �r ganska on�digt
<BR>
att forts�tta skriva nu.
</DIV>

background-color:lightgreen g�r s� att lagret blir gr�nt, anledningen till att jag har det i detta exempel �r att du l�ttare ska se vart h�let finns. Det viktiga i detta exempel �r dock att detta lager har clip: rect(10,75,50,10) i STYLE-attributen. Det detta g�r �r helt enkelt en rektangel som visar det som finns i lagret, det �vriga som ej �r bakom detta h�l visas inte alls.
Definitionen:
clip: rect(a,b,c,d)
  • �vre v�nstra h�rnet befinner sig a pix ner�t och d pix �t h�ger r�knat fr�n �vre v�nstra h�rnet p� lagret.
  • Nedre h�gre h�rnet befinner sig c pix ner�t och b pix �t h�ger r�knat fr�n �vre v�nstra h�rnet p� lagret.

Om hela lagret �r fr�n pixlarna (0,0) till (10,10) (egentligen kan det vara hur stort som helst, jag tar (10,10) som exempel f�r att det ska �verensst�mma med bilden) s� skulle man kunna ha n�got av f�ljande h�l i lagret:
clip: rect(2,5,4,3)
...Eller varf�r inte...
clip: rect(8,8,9,3)

[DHTML guiden] - [Till kapitel 5]






Copyright © Omid Rouhani 1997-2022; Alla r�ttigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]