• Nie Znaleziono Wyników

Podstawy programowania Podstawy programowania w jw języku JavaScript ęzyku JavaScript

N/A
N/A
Protected

Academic year: 2023

Share "Podstawy programowania Podstawy programowania w jw języku JavaScript ęzyku JavaScript"

Copied!
20
0
0

Pełen tekst

(1)

Podstawy programowania Podstawy programowania w j

w języku JavaScript ęzyku JavaScript

Funkcje i programowanie sterowane zdarzeniami

Część trzecia

Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa.

Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne.

Roman Simiński

roman.siminski@us.edu.pl www.us.edu.pl/~siminski Autor

Kontakt

(2)

Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych

alert( "Tu okno powiadomie , naci nij OK" );ń ś alert( "Tu okno powiadomie , naci nij OK" );ń ś

Funkcja alert ( tekst ) wyprowadza okno powiadomienia wyświetlający tekst

i przycisk OK, którym użytkownik zamyka okno.

(3)

Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych

if( confirm( "Naci nij OK aby poznać nasz ofert "ś ą ę ) ) document.write( "Zapraszamy do przegl du oferty"ą );

else

document.write( "Szkoda, mo e kiedy indziej"ż );

if( confirm( "Naci nij OK aby poznać nasz ofert "ś ą ę ) ) document.write( "Zapraszamy do przegl du oferty"ą );

else

document.write( "Szkoda, mo e kiedy indziej"ż );

Funkcja confirm ( tekst ) wyprowadza okno powiadomienia wyświetlający tekst oraz przyciski OK i Cancel (Anuluj).

Rezultatem jest true gdy naciśnięto OK, false gdy naciśnięto Cancel.

(4)

Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych Zanim zaczniemy — przydatne funkcje obsługi okien dialogowych

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

Funkcja prompt ( tekstPodpowiedzi, tekstDomyślny ) wyprowadza okno wczytywania danych wyświetlające tekstPodpowiedzi oraz pole tekstowe o wartości domyślnej tekstDomyślny.

Rezultatem funkcji jest wprowadzony tekst po naciśnięciu przycisku OK,

wartość null po naciśnięciu przycisku Cancel (Anuluj).

(5)

Definiowanie funkcji Definiowanie funkcji

function nazwaFunkcji( parametr1, parametr2, ..., parametrN ) {

kod funkcji }

function nazwaFunkcji( parametr1, parametr2, ..., parametrN ) {

kod funkcji }

function powitanie() {

alert( "Witaj serferze :)" );

}

function powitanie() {

alert( "Witaj serferze :)" );

}

function powitanie() {

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

function powitanie() {

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

Proste funkcje bezparametrowe o charakterze procedur Proste funkcje bezparametrowe

o charakterze procedur

(6)

Wywoływanie funkcji Wywoływanie funkcji

Funkcje można wywoływać w zwykły sposób — podając nazwę i ewentualne parametry.

powitanie();

powitanie();

Bardzo często wywołanie funkcji jest wynikiem zaistnienia pewnego zdarzenia na stronie.

Funkcja wywoływana po zaistnieniu zdarzenia nazywana jest funkcją obsługi zdarzenia (ang. event handler).

Typowe — ale nie wszystkie — obsługiwane zdarzenia:

onclick, onload,

onmouseover,

onmouseout,

onunload.

(7)

Wywoływanie funkcji — obsługa onload Wywoływanie funkcji — obsługa onload

Funkcja obsługi zdarzenia onload jest wywoływana po kompletnym

załadowaniu strony (znacznik body), rysunku (znacznik img) lub ramki (znacznik frame).

<html>

<head>

<script type="text/javascript">

function powitanie() {

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

</script>

</head>

<body onload = "powitanie()">

</body>

</html>

<html>

<head>

<script type="text/javascript">

function powitanie() {

var surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

</script>

</head>

<body onload = "powitanie()">

</body>

</html>

(8)

Wywoływanie funkcji — obsługa onunload Wywoływanie funkcji — obsługa onunload

Funkcja obsługi zdarzenia onunload jest wywoływana natychmiast po akcji opuszczenia strony.

<html>

<head>

<script type="text/javascript">

var surferName;

// . . .

function pozegnanie() {

alert( surferName + " pa, pa!" ) }

</script>

</head>

<body onunload = "pozegnanie()">

</body>

</html>

<html>

<head>

<script type="text/javascript">

var surferName;

// . . .

function pozegnanie() {

alert( surferName + " pa, pa!" ) }

</script>

</head>

<body onunload = "pozegnanie()">

</body>

</html>

(9)

Wywoływanie funkcji — obsługa onload i onunload Wywoływanie funkcji — obsługa onload i onunload

Teoretycznie to powinno działać — ale nie działa :(

<html>

<head>

<script type="text/javascript">

var surferName = "";

function powitanie() {

surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

function pozegnanie() {

alert( surferName + " pa, pa!" ) }

</script>

</head>

<body onload="powitanie()" onunload="pozegnanie()" >

</body>

</html>

<html>

<head>

<script type="text/javascript">

var surferName = "";

function powitanie() {

surferName = prompt( "Jak Ci mam nazywać:"ę , "" );

if( surferName != null && surferName != "" )

document.write( "Witaj " + surferName + "!" );

else

document.write( "Witaj nieznajomy!" );

}

function pozegnanie() {

alert( surferName + " pa, pa!" ) }

</script>

</head>

<body onload="powitanie()" onunload="pozegnanie()" >

</body>

</html>

(10)

Wywoływanie funkcji — obsługa onmouseover i onmouseout Wywoływanie funkcji — obsługa onmouseover i onmouseout

Wykorzystanie zdarzeń mouseover i mouseout:

<html>

<head>

<script type="text/javascript">

function darkColor() {

document.bgColor='#9f9f9f';

}

function lightColor() {

document.bgColor='#ffffff';

}

</script>

</head>

<body>

<a href="#" onmouseover="darkColor()" onmouseout="lightColor()">

Ten link jest wyj tkowyą </a>

</body>

</html>

<html>

<head>

<script type="text/javascript">

function darkColor() {

document.bgColor='#9f9f9f';

}

function lightColor() {

document.bgColor='#ffffff';

}

</script>

</head>

<body>

<a href="#" onmouseover="darkColor()" onmouseout="lightColor()">

Ten link jest wyj tkowyą </a>

</body>

</html>

(11)

Wywoływanie funkcji — obsługa onmouseover i onmouseout Wywoływanie funkcji — obsługa onmouseover i onmouseout

Mało roztropne wykorzystanie zdarzeń mouseover i mouseout:

<html>

<head>

<script type="text/javascript">

function uwazaj() {

alert( "Je eli tam wejdziesz, Twoje ycie ju nie b dzie takie samo!"ż ż ż ę );

}

function zaluj() {

alert( "Je eli tam nie wejdziesz, b dziesz ałował!"ż ę ż );

}

</script>

</head>

<body>

<a href="#" onmouseover="uwazaj()" onmouseout="zaluj()">

Ten link jest wyj tkowyą </a>

</body>

</html>

<html>

<head>

<script type="text/javascript">

function uwazaj() {

alert( "Je eli tam wejdziesz, Twoje ycie ju nie b dzie takie samo!"ż ż ż ę );

}

function zaluj() {

alert( "Je eli tam nie wejdziesz, b dziesz ałował!"ż ę ż );

}

</script>

</head>

<body>

<a href="#" onmouseover="uwazaj()" onmouseout="zaluj()">

Ten link jest wyj tkowyą </a>

</body>

</html>

(12)

Wywoływanie funkcji — obsługa onclick Wywoływanie funkcji — obsługa onclick

<html>

<head>

<script type="text/javascript">

function info() {

alert( "A figa winko, nic tu nie zobaczysz!"ś );

}

</script>

</head>

<body>

<input type="button" name="hl" value="Tylko dla dorosłych!" onclick="info()" />

</body>

</html>

<html>

<head>

<script type="text/javascript">

function info() {

alert( "A figa winko, nic tu nie zobaczysz!"ś );

}

</script>

</head>

<body>

<input type="button" name="hl" value="Tylko dla dorosłych!" onclick="info()" />

</body>

</html>

W przeglądarce użytkownicy zwykle

używają pojedynczego kliknięcia.

(13)

Wywoływanie funkcji — ondblclick Wywoływanie funkcji — ondblclick

Uwaga — zdarzenie click zawsze wystąpi przed dblclick.

<html>

<head>

<script type="text/javascript">

function info() {

alert( "A figa winko, nic tu nie zobaczysz!"ś );

}

</script>

</head>

<body>

<p>Dla tego przycisku u yj podwójnego klikni cia:</p>ż ę

<input type="button" name="hl" value="Tylko dla dorosłych!"

ondblclick="info()" />

</body>

</html>

<html>

<head>

<script type="text/javascript">

function info() {

alert( "A figa winko, nic tu nie zobaczysz!"ś );

}

</script>

</head>

<body>

<p>Dla tego przycisku u yj podwójnego klikni cia:</p>ż ę

<input type="button" name="hl" value="Tylko dla dorosłych!"

ondblclick="info()" />

</body>

</html>

(14)

Wywoływanie funkcji — obsługa onfocus i onblur Wywoływanie funkcji — obsługa onfocus i onblur

Czyli obsługa złapania i zgubienia „fokusa”:

<html>

<head>

<script type="text/javascript">

function inColor() {

document.bgColor='#5f5f5f';

}

function outColor() {

document.bgColor='#ffffff';

}

</script>

</head>

<body>

<input type="text" id="test" onfocus="inColor()" onblur="outColor()" />

</body>

</html>

<html>

<head>

<script type="text/javascript">

function inColor() {

document.bgColor='#5f5f5f';

}

function outColor() {

document.bgColor='#ffffff';

}

</script>

</head>

<body>

<input type="text" id="test" onfocus="inColor()" onblur="outColor()" />

</body>

</html>

(15)

Wywoływanie funkcji — obsługa onfocus i onblur Wywoływanie funkcji — obsługa onfocus i onblur

Wykorzystując onblur można np. weryfikować dane, tutaj jedynie ostrzeżenie:

<html>

<head>

<script type="text/javascript">

function outInfo() {

alert( "Je eli u yłe innych liter ni du e, to masz problem."ż ż ś ż ż );

}

</script>

</head>

<body>

Napisz du ymi literami<br />ż

<input type="text" id="test1" onblur="outInfo()" /><br />

<input type="text" id="test2" onblur="outInfo()" />

</body>

</html>

<html>

<head>

<script type="text/javascript">

function outInfo() {

alert( "Je eli u yłe innych liter ni du e, to masz problem."ż ż ś ż ż );

}

</script>

</head>

<body>

Napisz du ymi literami<br />ż

<input type="text" id="test1" onblur="outInfo()" /><br />

<input type="text" id="test2" onblur="outInfo()" />

</body>

</html>

(16)

Zdarzenia sterowane czasem — setTimeout i clearTimeout Zdarzenia sterowane czasem — setTimeout i clearTimeout

JavaScript pozwala na asynchroniczne wykonywanie wskazanego kodu po upływie zadanego czasu. Służą do tego funkcje:

setTimeout()

wykonuje wskazany kod JavaScript po upłynięciu zadanego czasu;

clearTimeout()

— anulowanie ustawień określonych funkcją

setTimeout()

.

Funkcja

setTimeout()

wykonuje przypisaną jej akcję tylko raz. Forma wywołania:

var timeObject = setTimeout( "kod w j zyku JavaScript", czas_w_milisekundach );ę var timeObject = setTimeout( "kod w j zyku JavaScript", czas_w_milisekundach );ę

Funkcja

clearTimeout()

zeruje ostawienia dla obiektu będącego rezultatem funkcji

setTimeout()

:

clearTimeout( timeObject );

clearTimeout( timeObject );

(17)

Zdarzenia sterowane czasem — setTimeout i clearTimeout, przykład 1 Zdarzenia sterowane czasem — setTimeout i clearTimeout, przykład 1

<html>

<head>

<script type="text/javascript">

function odliczanie() {

var timeoutObject = setTimeout( 'alert( "Czas min ł" )'ą , 5000 );

}

</script>

</head>

<body onload="odliczanie()">

<p>Masz 5 sekund na podj cie decyzji!</p>ę </body>

</html>

<html>

<head>

<script type="text/javascript">

function odliczanie() {

var timeoutObject = setTimeout( 'alert( "Czas min ł" )'ą , 5000 );

}

</script>

</head>

<body onload="odliczanie()">

<p>Masz 5 sekund na podj cie decyzji!</p>ę </body>

</html>

(18)

Zdarzenia sterowane czasem — setTimeout i clearTimeout, przykład 2 Zdarzenia sterowane czasem — setTimeout i clearTimeout, przykład 2

<script type="text/javascript">

var timeoutObject;

var sek = 0;

function start() {

document.getElementById( "txt" ).value = sek++;

timeoutObject = setTimeout( "start()", 1000 );

}

function stop() {

clearTimeout( timeoutObject );

}

function zeruj() {

document.getElementById( "txt" ).value = sek = 0;

}

</script>

. . .

<h1>Głupiutki stoper</h1>

<input type="button" value="Start" onclick="start()" />

<input type="text" id="txt" />

<input type="button" value="Stop" onclick="stop()" />

<input type="button" value="Zeruj" onclick="zeruj()" />

. . .

<script type="text/javascript">

var timeoutObject;

var sek = 0;

function start() {

document.getElementById( "txt" ).value = sek++;

timeoutObject = setTimeout( "start()", 1000 );

}

function stop() {

clearTimeout( timeoutObject );

}

function zeruj() {

document.getElementById( "txt" ).value = sek = 0;

}

</script>

. . .

<h1>Głupiutki stoper</h1>

<input type="button" value="Start" onclick="start()" />

<input type="text" id="txt" />

<input type="button" value="Stop" onclick="stop()" />

<input type="button" value="Zeruj" onclick="zeruj()" />

. . .

(19)

Zdarzenia sterowane czasem — setTimeout i clearTimeout Zdarzenia sterowane czasem — setTimeout i clearTimeout

setInterval()

wykonuje wskazany kod JavaScript po upłynięciu zadanego czasu;

clearInterval()

— anulowanie ustawień określonych funkcją

setInterval()

.

Funkcja

setTimeout()

wykonuje przypisaną jej akcję tylko raz. Forma wywołania:

JavaScript pozwala na asynchroniczne, wielokrotne wykonywanie wskazanego kodu po upływie zadanego czasu. Służą do tego funkcje:

var timeObject = setInterval( "kod w j zyku JavaScript", czas_w_milisekundach );ę var timeObject = setInterval( "kod w j zyku JavaScript", czas_w_milisekundach );ę

Funkcja

clearInterval()

zeruje ostawienia dla obiektu będącego rezultatem funkcji

setInterval()

:

clearInterval( timeObject );

clearInterval( timeObject );

(20)

Zdarzenia sterowane czasem — setInterval i clearInterval, przykład Zdarzenia sterowane czasem — setInterval i clearInterval, przykład

<script type="text/javascript">

var timeoutObject;

var sek = 0;

function display() {

document.getElementById( "txt" ).value = sek++;

}

function start() {

display();

timeoutObject = setInterval( "display()", 1000 ) }

function stop() {

clearInterval( timeoutObject );

}

function zeruj() {

document.getElementById( "txt" ).value = sek = 0;

}

</script>

. . .

<h1>Głupiutki stoper</h1>

<input type="button" value="Start" onclick="start()" />

<input type="text" id="txt" />

<input type="button" value="Stop" onclick="stop()" />

<input type="button" value="Zeruj" onclick="zeruj()" />

. . .

<script type="text/javascript">

var timeoutObject;

var sek = 0;

function display() {

document.getElementById( "txt" ).value = sek++;

}

function start() {

display();

timeoutObject = setInterval( "display()", 1000 ) }

function stop() {

clearInterval( timeoutObject );

}

function zeruj() {

document.getElementById( "txt" ).value = sek = 0;

}

</script>

. . .

<h1>Głupiutki stoper</h1>

<input type="button" value="Start" onclick="start()" />

<input type="text" id="txt" />

<input type="button" value="Stop" onclick="stop()" />

<input type="button" value="Zeruj" onclick="zeruj()" />

. . .

Cytaty

Powiązane dokumenty

Obiekty, elementy, pojęcia ze świata zewnętrznego muszą zostać odwzorowane danymi w programie. Dane występujące w programie stanowią uproszczony, komputerowy

Rezultatem funkcji jest wartość różna od zera, jeżeli strumień jest w pozycji końcowej, zero w przeciwnym wypadku.. Strumień jest w pozycji końcowej, jeżeli w wyniku

W przypadku wystąpienia końca pliku lub błędu, rezultatem funkcji jest liczba, potencjalnie zerowa, bezbłędnie zapisanych bloków.. size_t fwrite( void * ptr, size_t size, size_t

• Wyświetl ekran logowania, pobierz login i hasło,. • Poprawny login: admin, poprawne

• Tablice tworzone na stosie jako zmienne lokalne muszą być deklarowane z rozmiarem, który jest znany w czasie kompilacji. • Tam gdzie widoczna jest deklaracja tablicy tab, nazwa

wysokość drzewa – długość najdłuższej ścieżki drzewa waga drzewa – całkowita liczba węzłów w

(2) referencja przez całe swoje istnienie jest referencją dla jednej i tej samej zmiennej i nie da się tego zmienić w trakcie działania programu, zaś wskaźnik może zmieniać

Skoro wraz z zakończeniem funkcji main, kończy się program, to kto w wyniku instrukcji return 0 otrzyma wartość 0.. Odp.1: System operacyjny, bo to on