Till Startsidan
JavaScript.nu hostas av Ballou.se

Skaffa webbhotell
Från 12 kr/månad.

100 kr rabatt för JavaScript.nu-
besökare.

JavaScript.nu / JavaScript-kurs / Statusfältet

LÄR DIG SPRÅKET JAVASCRIPT
Statusfältet

Det du nu ska lära dig är hur man kan skriva saker i statusfältet.
Detta kan vara bra då man t.ex. har länkar som man vill ska visa en text i statusfältet när man drar musen över länken.

Själva kommandot som gör att en text visas i statusraden är väldigt simpel, man skriver endast window.status, så det jag ska berätta i detta kapitel är hur du kan utnyttja denna funktion.

Låt oss börja med det simplaste sättet att använda funktion, nämligen att statusfältet ska ha texten Hej på dig! som default, alltså om inget annat står så ska det stå Hej på dig!. Vill du testa och se hur det blir? Tryck här.
För det scriptet skriver du:

<SCRIPT LANGUAGE="JavaScript">
<!--

defaultStatus=("Hej på dig!");

//-->
</SCRIPT>

Andra saker du kan göra är som jag tidigare sa en länk som visar en text när man drar musen över länken och en text när man drar musen från länken.
Nu måste vi också blanda med de saker som vi lärde oss i kapitel 9, nämligen OnMouseOver (när musen dras över ett objekt) och OnMouseOut (när musen dras från ett objekt).

Låt oss titta på detta script:

<A HREF="hemsida.shtml"
OnMouseOver="window.status='Om du trycker på bilden nu så kommer du till denna sida'; return true"
OnMouseOut="window.status=''; return true"><IMG SRC="../../exempel.gif"></A>
Vad är vad?
Jo allt det svarta är vanlig HTML-kod, men det mörkblåa är JavaScript. Texten OnMouseOver och OnMouseOut (kapitel 9) berättar till webbläsaren att JavaScriptet som står inom citatet (") ska aktiveras då musen dras över (OnMouseover) respektive från (OnMouseout) länken.
Vårt script säger:
window.status='Om du trycker på bilden nu så kommer du till denna sida'; return true
Att jag inte har " utan ' beror på att ett " (citat) skulle avsluta OnMouseOver, vilket skulle leda till att webbläsaren tror att OnMouseOver är en attribut med värdet window.status=, vilket inte är fallet. Därför har jag '.

Semikolonet (;) separerar window.status och return true, vilket är ett måste för att detta ska fungera (såväl semikolonet som return true:et).

OnMouseOut är precis som OnMouseOver, förrutom att det som står i OnMouseOut är det som händer då musen dras från länken och OnMouseOver är det som händer då musen dras över länken.

I OnMouseOut har jag skrivit window.status='', varför?
Varför har jag en tom attribut, är inte det lite väl onödigt?
Nej, det som händer är att jag tömmer statusfältet. Skulle detta inte finnas så skulle ju statusfältet ha kvar texten Om du trycker på bilden nu så kommer du till denna sida, vilket skulle leda till att även när musen dras från länken så skulle texten finnas, och det är ju inte så bra att ha den texten på hela sidan, vart nu musen befinner sig.


En annan sak man kan göra är att ta hjälp av en "timer" (kapitel 12) och göra att olika meddelanden kommer på statusraden hela tiden. Se ett exempel här.
Här ser du koden till scriptet:
<SCRIPT LANGUAGE="JavaScript">
<!--
a()

function a()
{
window.status=("Hej, välkommen till min hemsida.");
setTimeout ("b()", 4000);
}

function b()
{
window.status=("Har du kul nu när du väntar på nästa meddelande?");
setTimeout ("c()", 4000);
}

function c()
{
window.status=("Suck, fanns det inget vettigare meddelande här?");
setTimeout ("d()", 4000);
}

function d()
{
window.status=("OK, detta är det sista inlägget (sedan börjar det om från början)");
setTimeout ("a()", 4000);
}

//-->
</SCRIPT>
Nåja, jag ska väldigt kortfattat berätta vad som är vad:
a() = Startar funktionen a() (utan detta startar inte hela scriptet)
function a() = funktionen a()
window.status = Detta skriver på statusraden
setTimeout ("d()", 4000); =
   [setTimeout] = timer
   [d()] = Vilken funktion timern ska starta
   [4000] = Antalet millisekunder (1000 millisekunder = 1 sekund) det ska ta för att starta funktionen.
Som du märker står inte Hej, välkommen till min hemsida. (= det första meddelandet) när man kommer till sidan.
Detta är egentligen inte helt sant, faktum är att sidan är så liten att så fort texten dyker upp så laddas sidan färdigt och texten Document: Done (eller en liknande text) dyker upp, så det kommer upp, men det syns inte.


Ännu ett kapitel är slut och du väntar på ett nytt, eller?
Nåja, här finns nästa kapitel.






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