| PROIECTARE SITE WEB > DOCUMENTATIE - JAVASCRIPT - Bara
de stare |
Proiectare Site si Web Design - JavaScript - Bara de Stare
Programele dumneavoastra JavaScript pot scrie in bara de stare
a browserului - acea bara din partea de jos a ferestrei dumneavoastra
de browser. Tot ce aveti de facut este sa dati o valoare-sir lui "window.status".
Urmatorul exemplu creaza doua butoane care pot fi folosite pentru
a scrie un text oarecare pe bara de stare iar apoi pentru stergerea
acestui text.
Scriptul arata astfel:
<html>
<head>
<script language="JavaScript">
<!-- hide
function
statbar(txt) {
window.status = txt;
}
// -->
</script>
</head>
<body>
<form>
<input type="button" name="look" value="Write!"
onClick="statbar('Salut! Aceasta este bara de stare!');">
<input type="button" name="erase" value="Erase!"
onClick="statbar('');">
</form>
</body>
</html>
Creem un formular cu doua butoane. Ambele butoane
apeleaza functia "statbar()". Putem vedea ca apelarea functiei
- initiata de apasarea butonului "Scrie!" - arata astfel:
statbar('Salut!
Aceasta este bara de stare!');
In interiorul parantezelor specificam sirul "Salut!
Aceasta este bara de stare!", ceea ce inseamna ca sirul este
trimis functiei statbar(). Am definit functia "statbar()"
astfel:
function
statbar(txt) {
window.status=txt;
}
Ceea ce aduce nou exemplul de fata este folosirea
"txt" in interiorul parantezelor din declararea functiei.
Aceasta inseamna ca sirul pe care il transmitem este inmagazinat intr-o
variabila "txt".
Transmiterea valorilor catre functii este deseori folosita pentru
a face functiile mai flexibile. Putem transmite mai multe valori functiilor
- trebuie doar sa le separam prin virgule.
Sirul "txt" este afisat pe bara de stare prin intermediul
"window.status=txt". Stergerea textului de
pe bara de stare se face prin definirea unui sir gol pentru "window.status".
Afisarea textului pe bara de stare poate fi usor utilizata in combinatie
cu legaturile hipertext. In loc ca bara de stare sa afiseze locatia
web a paginii din link, este posibil ca pe bara de stare sa avem o
descriere a paginii. Acest link demonstreaza chiar
asta - este de ajuns sa pozitionam cursorul deasupra legaturii pentru
ca mesajul din bara de stare sa devina "Don't click here!".
Codul pentru acest exemplu arata astfel:
<A onmouseover=
"window.status='Don\'t click here!'; return true;"
onmouseout= "window.status='';"
href="http://www.afaceri-online.net">Acest link</A>
Aici utilizam onMouseOver si onMouseOut
pentru a detecta cand pointerul mouse-ului trece pe deasupra legaturii
(linkului).
Probabil va intrebati de ce trebuie sa scriem
"return true" in interiorul proprietatii "onMouseOver".
Aceasta inseamna ca browserul nu va executa codul sau propriu ca reactie
la evenimentul "onMouseOver". In mod obisnuit browserul
afiseaza pe bara de stare URL-ul (adresa de Internet) spre care trimite
legatura. Daca nu utilizam "return true", browserul va scrie
pe bara de stare textul sau implicit (adresa de web) imediat ce codul
nostru a fost executat - deci va sterge textul nostru instantaneu
si utilizatorul nu il va putea citi. In general putem suprima actiunile
browserului folosind "return true" in managerul de evenimente.
"OnMouseOut" nu exista in JavaScript 1.0. Daca folosim Netscape
Navigator 2.x putem obtine rezultate diferite pe platforme diferite.
Pe platformele Unix textul dispare chiar daca browserul nu cunoaste
"onMouseOut". Pe platformele Windows textul nu dispare.
Daca dorim ca scriptul nostru sa fie compatibil cu Netscape 2.x pentru
Windows, putem scrie de exemplu o functie care afisaza textul pe bara
de stare si il sterge periodic dupa o anumita bucata de timp. Efectul
este realizat cu ajutorul unei intreruperi - pauza (timeout). Acest
aspect este analizat in cartea electronica "Java, JavaScript
- Profesional" oferita de site-ul nostru in cadrul pachetului
de carti electronice "Internetul Pentru Afaceri"
si al carei cuprins va invitam sa il examinati indeaproape.
In scriptul exemplificat mai sus putem vedea inca un lucru
- cateodata vom dori sa afisam in textul de iesire (output) ghilimele
simple. Daca dorim sa afisam textul "Don't click me", conform
sintaxei JavaScript folosim gilimele simple (apostroafe) deorece specificam
sirul in interiorul unui manager de evenimente "onMouseOver".
Dar cuvantul "Don't" foloseste inca o ghilimea simpla! Browserul
este practic ametit daca scriem direct "Don't ...". Pentru
a rezolva problema, putem sa utilizam "\" (backslash) inaintea
ghilimelelor - ceea ce inseamna ca urmarea apartine iesirii de la
terminal (textului pur afisat ca mesaj pe monitor). Evident, putem
folosi acelasi procedeu si cu ghilimele duble.
|