För er som har gått kursen eller redan kan lite DHTML och
tänker göra egna script finns här en mall som man bara klipper
och klistrar till sin egen hemsida och som kan behövas vid DHTML-arbetning.
Scriptet innehåller en hel del vanliga och användbara funktioner
som du simpelt kan anropa istället för att skapa egna.
Dessutom kan du ställa in scriptet så att det, om du så vill,
ger felmeddelanden med instruktioner om vad felet är när du
utför någon galen åtgärd. Men än bättre, du kan ställa in det
så att det ska ge varningar till dig om du utför en åtgärd
som fungerar på den webbläsare du använder, men inte på en annan.
För att använda scriptet behöver du bara kopiera och klistra
allt nedan till din sidas HEAD, dvs efter <HEAD> men
före </HEAD>.
<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. *---
ge_fel="ja"; //Ska scripten ge ett felmeddelande när du försöker utföra en förbjuden åtgärd? Värden: "ja"/"nej"
ge_varning="ja"; //Ska scripten ge ett felmeddelande även när du försöker utföra en åtgärd som är tillåten på en webbläsare men förbjuden på en annan? Värden: "ja"/"nej"
/*****Modifiera inget under denna linje*****/
function ie()
{
if (document.all)
return true;
return false;
}
function fel(kommentar)
{
if (ge_fel=="ja")
alert(kommentar);
return false;
}
function ratt_lager(lager,funk)
{
if (ie())
{
if (!(document.all[lager].style.position!="absolute" &&
document.all[lager].style.position!="relative"))
{
return true;
}
}
else
{
if (document.layers[lager]!="undefined")
{
return true;
}
}
return fel("ERROR från funktionen "+funk+":\nLagret ("+lager+") är ej av formen absolute eller relative, det måste den vara.\nÅtgärd:\nta med STYLE=\"position:relative\" eller STYLE=\"position:absolute\" i DIV-taggen.")
}
function ar_tal(talet,funk)
{
if (parseInt(talet)==talet && talet.toString().length>0)
{
return true
}
return fel("ERROR från funktionen "+funk+":\nMinst ett av argumenten som du givit är inte ett korrekt heltal.\nTalet:\n"+talet)
}
function flytta(lager,ner,hoger) //Placerar ett lager exakt på ett ställe
{
if (!(ar_tal(ner,"flytta") && ar_tal(hoger,"flytta")))
{
return false;
}
if (ie())
{
if (ratt_lager(lager,"flytta"))
{
document.all[lager].style.pixelLeft+=hoger;
document.all[lager].style.pixelTop+=ner;
}
else
{
return false;
}
}
else
{
if (ratt_lager(lager,"flytta"))
{
document.layers[lager].left+=hoger;
document.layers[lager].top+=ner;
}
else
{
return false;
}
}
return true;
}
function placera(lager,ner,hoger) //Placerar ett lager exakt på ett ställe
{
if (!(ar_tal(ner,"placera") && ar_tal(hoger,"placera")))
{
return false;
}
if (ie())
{
if (ratt_lager(lager,"placera"))
{
document.all[lager].style.pixelLeft=hoger;
document.all[lager].style.pixelTop=ner;
}
else
{
return false;
}
}
else
{
if (ratt_lager(lager,"placera"))
{
document.layers[lager].left=hoger;
document.layers[lager].top=ner;
}
else
{
return false;
}
}
return true;
}
function visa(lager) //Visar ett lager
{
if (ie())
{
if (!ratt_lager(lager,"visa") && ge_varning=="ja")
{
return false;
}
document.all[lager].style.visibility="visible";
}
else
{
if (!ratt_lager(lager,"visa"))
{
return false;
}
document.layers[lager].visibility="visible";
}
return true;
}
function dolj(lager) //Gör ett lager osynligt
{
if (ie())
{
if (!ratt_lager(lager,"dolj") && ge_varning=="ja")
{
return false;
}
document.all[lager].style.visibility="hidden";
}
else
{
if (!ratt_lager(lager,"dolj"))
{
return false;
}
document.layers[lager].visibility="hidden";
}
return true;
}
function skriv(lager,txt) //Skriver information till ett lager
{
if (!ratt_lager(lager,"skriv") && ge_varning=="ja")
{
return false;
}
if (ie())
{
document.all[lager].innerHTML=txt;
}
else
{
if (!ratt_lager(lager,"skriv"))
{
return false;
}
document[lager].document.open();
document[lager].document.write(txt);
document[lager].document.close();
}
return true;
}
//-->
</SCRIPT>
Samtliga funktioner returnerar true om funktionen lyckats
och false om den misslyckats.
flytta(lager,ner,hoger)
Flyttar lagret lagerner steg neråt och hoger steg åt höger.
lager ska vara en sträng medan ner och hoger
ska vara heltal, de kan vara såväl positiva som negativa heltal.
placera(lager,ner,hoger)
Placerar lagret lagerner steg neråt och hoger steg åt höger
räknat från sidans översta vänstra hörn.
lager ska vara en sträng medan ner och hoger
ska vara heltal, de kan vara såväl positiva som negativa heltal.
visa(lager)
Visar lagret lager, oavsett om det tidigare visades eller inte.
lager ska vara en sträng.
dolj(lager)
Döljer lagret lager, oavsett om det tidigare visades eller inte.
lager ska vara en sträng.
skriv(lager,txt)
Ersätter lagret lagers information med txt.
lager ska vara en sträng, txt kan vara av valfritt format.