Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Aprilie 2003
SOLUȚII PENTRU PROGRAMATORII ȘI DESIGNERII WEB

Picătura de DHTML

Octavian Arsene

Vremea schimbărilor a cam venit. Setările legate de culori și fonturi, de poziția diverselor elemente HTML sunt realizate prin intermediul fișierelor de stiluri CSS (care reprezintă extinderea standardului HTML). Partea de dinamică a obiectelor dintr-o pagină de web este realizată cu JavaScript (limbaj de scripting, ce lucrează cu obiecte, a nu se confunda cu Java). Ca o privire de ansamblu, proiectarea unei pagini de web presupune ceva programare (trebuie stăpânite conceptele de obiect - metodă - proprietate). Pentru legarea celor 3 standarde HTML-CSS-JavaScript utilizăm conceptul container, materializat cu ajutorul tagului <DIV> sau <SPAN> din HTML. Estetica acestora se realizează cu stilurile CSS iar de punerea lor în mișcare se ocupă scriptul JavaScript.

De exemplu să realizăm o pagină de web în care tratarea evenimentului "Click" (vom apăsa pe un buton) să schimbe culoarea background-ului unui container din respectiva pagină; sursele acestui exemplu sunt următoarele :
fișierul pag1.htm

<html>
< head>
<title>Exemplul 1</title>
<link href="stiluri.css" type="text/css" rel="stylesheet">
< /head>
< SCRIPT src='scripturi.js'>
< /SCRIPT>

<BODY>
< DIV CLASS="cutie" ID="container1">
Text inauntrul containerului 1
< /DIV>
< P ALIGN="CENTER">
<INPUT TYPE="BUTTON" onClick="f1()" VALUE="Wind of change..">
< /P>
< /BODY>
< /html>

fișierul stiluri.css

BODY
{
background-color: #0040A7;
}

.cutie
{
background-color: #003384;
color: white;
padding: 10px;
border-style: solid;
border-color: white;
border-width: 1px;
font-family: Arial;
}

fișierul stiluri.js

//————————-Variabile globale————————
var browser=navigator.userAgent.toLowerCase();
var IE=(document.all)?true:false;
var NETZ_NOU=((document.getElementById)&& (!IE))?true:false;

/* —————-Functii ce sunt executate la invocarea handler-elor

Browserul va stii ce functie sa invoce intr-un anume moment datorita
handlerului ; de ex: onClick=f() este handlerul onClick apeleaza functia Javascript f()
*/

function f1()
{
if(IE)
document.all.item(‘container1').style.backgroundColor='red';
if(NETZ_NOU)
document.getElementById(‘container1').style.backgroundColor='yellow';
}


Pare complicat?
Hai să vedem ce inginerie am făcut ! Remarcăm o noutate introdusă în HTML, atributul ID care va reprezenta identificatorul containerului în cadrul scripturilor Javascript (puteți să-l considerați ca un nume, poreclă); apoi problema spinoasă este modelul obiectual ales de către fiecare producător de browser (până la un punct, sunt cam la fel; de exemplu obiectele ‘window' ,'document' și chiar câteva metode și proprietăți ale acestora). Scopul, în cadrul codului Javascript, este de a obține REFERINȚA la OBIECTUL CONTAINER (trebuie să vă reamintiți că în Javascript se utilizează modelul obiectual pentru accesarea diverselor elemente HTML). "Referință la obiect" înseamnă o variabilă prin intermediul căreia putem ajunge la metodele și proprietățile acelui obiect.
Pentru IE referința la obiectul container este următoarea expresie:

document.all.item(‘container1')

Pentru Netscape referința la obiectul container este următoarea expresie:

document.getElementById(‘container1')

Instrucțiunile de mai sus s-ar putea citi cam așa: din cadrul tuturor elementelor HTML disponibile în pagina de web alegem elementul cu numele "container1" (vezi ID din cadrul sursei HTML) .
După obținerea referinței elementului container nu ne mai trebuie decât numele stilului CSS pe care dorim să-l modificăm. Acesta este:

style.backgroundColor='red', reprezentând culoarea de fundal a containerului.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro