WYKŁAD 4 JĘZYK JAVASCRIPT CZĘŚĆ 1

Podobne dokumenty
Podstawy JavaScript ćwiczenia

Zdarzenia Zdarzenia onload i onunload

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Rys.2.1. Drzewo modelu DOM [1]

CZYM JEST JAVASCRIPT?

Krótki kurs JavaScript

Funkcje i instrukcje języka JavaScript

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wykład 03 JavaScript. Michał Drabik

XML extensible Markup Language. część 5

DOM (Document Object Model)

Zajęcia 4 - Wprowadzenie do Javascript

Aplikacje internetowe

Tworzenie Stron Internetowych. odcinek 10

JavaScript. mgr inż. Remigiusz Pokrzywiński

JAVASCRIPT (cz. IV) ĆWICZENIA DO SAMODZIELNEGO WYKONANIA materiały dydaktyczne dla słuchaczy opracowanie: by Arkadiusz Gawełek, Łódź

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 6. Środa 15:30-17:00 sala: A-1-04

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

XML extensible Markup Language. część 5

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Test przykładowy 2 PAI WSB Wrocław /06/2018

JAVAScript w dokumentach HTML - przypomnienie

Wprowadzenie do języka JavaScript

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

CSS. Kaskadowe Arkusze Stylów

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Podstawy programowania w języku JavaScript

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Kurs HTML 4.01 TI 312[01]

Cw.12 JAVAScript w dokumentach HTML

JAVAScript w dokumentach HTML (1)

Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

JAVAScript w dokumentach HTML (2)

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Dokumentacja Skryptu Mapy ver.1.1

Bazy Danych i Usługi Sieciowe

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

za pomocą: definiujemy:

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Pozycjonowanie i poruszanie warstw

Tworzenie aplikacji internetowych E14

Spis treści. Wprowadzenie 11 Rozdział 1. Pierwsze spotkanie z JavaScriptem 15. Spis treści

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

JavaScript funkcyjność

HTML ciąg dalszy. Listy, formularze

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.


Programowanie w języku Python. Grażyna Koba

Wykład 4 Praca z obrazami część I

JAVAScript tablice, przekazanie danych do funkcji, obiekty Date i window

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom zaawansowany)

Programowanie w Ruby

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

HTML (HyperText Markup Language) hipertekstowy język znaczników

Wykład 8: klasy cz. 4

Wybrane działy Informatyki Stosowanej

Współdziałanie przeglądarki i skryptów w pliku HTML (lub XML), oraz współdziałanie przeglądarki i ekranu ilustruje niżej położony rysunek.

Aplikacje WWW - laboratorium

Materiały do laboratorium MS ACCESS BASIC

Podstawy programowania w języku JavaScript

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Podstawy programowania skrót z wykładów:

Dodanie nowej formy do projektu polega na:

Kurs WWW wykład 6. Paweł Rajba

Zaawansowane aplikacje internetowe

Specyfikacja techniczna kreacji HTML5

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Aplikacje WWW - laboratorium

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Programowanie obiektowe. Wykład 4

Podstawy Programowania 2

Kaskadowe arkusze stylów (CSS)

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Okna, ramki i ciasteczka

Aplikacje Internetowe

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wybrane działy Informatyki Stosowanej

Oczywiście plik musi mieć rozszerzenie *.php

Wykład 5: Klasy cz. 3

Witryny i aplikacje internetowe

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Programowanie internetowe

Transkrypt:

WYKŁAD 4 JĘZYK JAVASCRIPT CZĘŚĆ 1

DEFINICJA JAVASCRIPT (oficjalna nazwa ECMA-262, ECMAScript 6 czerwiec 2015r.) Skryptowy język programowania, którego celem jest dodanie dynamiki do możliwości HTML'a. Umożliwia: manipulację wyglądem i położeniem elementów HTML; zmiany zawartości elementów HTML (innerhtml); pobieranie danych z formularzy i sprawdzanie ich poprawności; asynchroniczne ładowanie danych na stronę (Ajax);

CECHY JAVASCRIPT język skryptowy - nie musi być kompilowany do kodu maszynowego; ze względów bezpieczeństwa nie można zapisywać na dysku komputera, na którym przeglądana jest dana strona; wszelkie odwołania do funkcji i obiektów wykonywane są w trakcie wykonywania programu; pozwala na odciążenie serwerów i ograniczenie zbędnych danych, wysyłanych przez Internet; działa po stronie przeglądarki użytkownika.

ZAMIESZCZANIE KODU W HTML Kod JavaScript musi być zawarty pomiędzy znacznikami HTML a <script> i </script> Można go umieszczać w dowolnym miejscu dokumentu, ale o ile to tylko możliwe, umieszcza się go albo na początku strony w sekcji HEAD albo na końcu. w części <head> jeśli chcemy, żeby pliki załadowały się na początku pliki kluczowe dla działania strony; na końcu przed zamknięciem </body> jeśli chcemy, żeby pliki nie opóźniały ładowania elementów strony;

PRZYKŁAD <script type="text/javascript"> kod skryptu </script> <script type="text/javascript" src="nazwa_pliku.js"></script> <noscript>ta witryna wymaga obsługi skryptów.</noscript>

DOBRE PRAKTYKI JAVASCRIPT Dobrą praktyką jest: zamieszczanie kodu JavaScript w zewnętrznych plikach.js; zamieszczanie kodu JavaScript na końcu dokumentu; ładowanie asynchroniczne plików.js poprzez dodawanie atrybutu async do znacznika <script> o ile nie zakłóci to działania strony. <script async src= plik.js ></script> Zewnętrzne pliki są łatwiejsze do zarządzania, do tego poprzez umieszczenie ich w pamięci przeglądarki (cache) strony szybciej się ładują.

WYŚWIETLANIE INFORMACJI JavaScript nie posiada wbudowanych żadnych funkcji wyświetlających efekty działań. Można to osiągnąć na cztery sposoby wykorzystując: okno z komunikatem window.alert("cześć"), dokument HTML document.write("cześć"), element HTML innerhtml document.getelementbyid("demo").innerhtml = "to jest demo"; konsolę przeglądarki console.log("cześć").

WYŚWIETLANIE INFORMACJI Liczbę trzeba umieścić bezpośrednio w nawiasie okrągłym: document.write(1); Napis musi być ujęty w znaki cudzysłowu lub apostrofu: document.write("abc"); document.write('abc'); W jednej instrukcji można wyświetlić wiele oddzielnych liczb, tekstów i zmiennych łączenie odbywa się poprzez "+". document.write("abc " + 2.0 + " def " + 3);

ZMIENNE var zmienna; var liczba =5; Zmienne tworzone są za pomocą słowa kluczowego var lub przypisanie wartości. Nazwa zmiennej może być dowolna, choć musi spełniać następujące zasady: musi zaczynać się od litery lub znaku podkreślenia, może zawierać jedynie litery, cyfry i znaki podkreślenia, nie może zawierać znaków narodowych (czyli dopuszczalne są jedynie znaki alfabetu łacińskiego), w nazwach rozróżniane są małe i duże litery.

JS I NOTACJA WIELBŁĄDZIA (CAMEL CASE) Podczas tworzenia zmiennych programiści wykorzystują różne sposoby na łączenie kilku słów w jedną nazwę zmiennej: Łączniki: first-name, last-name, master-card, inter-city; Podkreślenia: first_name, last_name, master_card, inter_city. Camel Case: FirstName, LastName, MasterCard, InterCity. W JavaScript najpopularniejsza jest notacja wielbłądzia z pierwszą literą małą: Camel Case: firstname, lastname, mastercard, intercity. Łączniki nie są dozwolone w JavaScript interpretuje je jako operację odejmowania.

TYPY DANYCH var length = 16; // Number var lastname = "Johnson"; // String var cars = ["Saab", "Volvo", "BMW"]; // Array var x = {firstname:"john", lastname:"doe"}; // Object Typy danych są ważne z punktu widzenia programowania bez typów danych komputer nie wiedziałby, jakie operacje może wykonać. var x = 16 + 4 + "Volvo"; // 20Volvo var x = "Volvo" + 16 + 4; // Volvo164

FUNKCJE JAVASCRIPT Funkcja to blok kodu wywoływany na stronie: Przez zdarzenie (np. kliknięcie przycisku); Przez inną funkcję; Automatycznie (tzw. self invoked) function nazwafunkcji(arg1, arg2) { var x = arg1*arg2; } var x = nazwafunkcji(2, 5);

RETURN W FUNKCJACH Wewnątrz funkcji argumenty zachowują się jak zmienne lokalne, tzn. ich zmiany nie wpływają na kod poza funkcją. Return pozwala na przekazanie wyniku działania w funkcji na zewnątrz. function nazwafunkcji(arg1, arg2) { } var x = arg1*arg2; return x; var x = nazwafunkcji(2, 5);

OBIEKTY JAVASCRIPT Obiekt najłatwiej sobie można wyobrazić jako "pojemnik", wewnątrz którego umieszczone są zmienne (właściwości) i funkcje (metody). Obiektem może być kot. Kot będzie miał między innymi takie właściwości, jak: cat.age, cat.breed, cat.color oraz takie metody jak: cat.crazymode() i cat.purrmode() Wszystkie koty mają te same właściwości, ale różne wartości tych właściwości. Podobnie jest z metodami wszystkie koty je mają, jednak wywołują je w różnych momentach.

PRZYKŁAD OBIEKTU var cat = { age: 7, breed: "NFO", color: "black", crazymode: function() { window.alert("au! It s crazy cat! "); }, purrmode: function() { window.alert("oh, what a kitty!"); } }; cat.crazymode();

ZDARZENIA Zdarzenia w HTML to rzeczy, które przydarzają się elementom HTML lub dokumentowi. To na przykład przesunięcie kursora myszy, kliknięcie, załadowanie strony, opuszczenie strony itp. Każdy element strony ma przypisany zestaw obsługiwanych przez niego zdarzeń, a każdemu z nich można przypisywać własne procedury obsługi, napisane w JavaScript.

ZDARZENIA Obsługę danego zdarzenia można przypisać na dwa sposoby. 1. Jeśli jest bardzo krótka i może być zapisana w jednej linii kodu, można ją przypisać bezpośrednio do znacznika obsługującego dane zdarzenie nie zalecane: <znacznik zdarzenie="instrukcja;"> 2. W przypadku dłuższych procedur zdarzeniu należy przypisać jedynie wywołanie funkcji JavaScript: <znacznik zdarzenie="nazwafunkcji();"> <p onclick="nazwafunkcji();">

LISTA TYPOWYCH ZDARZEŃ (więcej: http://www.w3schools.com/jsref/dom_obj_event.asp) onfocus - kiedy element otrzymuje fokus; onblur - kiedy element traci fokus; onchange - kiedy element traci focus i zmienia się wartość; onclick - kiedy element został kliknięty; onmouseover - kiedy kursor myszy wejdzie w obszar elementu; onmouseout - kiedy kursor myszy opuści obszar elementu; onselect - podczas zaznaczania fragmentu tekstu; onsubmit - podczas wysyłania formularza; onload - kiedy przeglądarka zakończy ładowanie strony lub ramki; onunload - kiedy przeglądarka usuwa bieżący dokument.

MODEL DOM Model DOM (z ang. Document Object Model) czyli obiektowy model dokumentu pozwala na odwoływanie się do elementów witryny oraz ich zmienianie, dodawanie i usuwanie. HTML DOM definiuje: Elementy HTML jako obiekty; Właściwości wszystkich elementów HTML; Metody elementów HTML; Zdarzenia dla elementów HTML.

SCHEMAT DOM DOM jest modelem hierarchicznym i udostępnia zestaw obiektów odzwierciedlających dokument HTML oraz elementy okna przeglądarki. Jest to struktura drzewiasta, w której elementy niższego poziomu są węzłami elementów wyższego poziomu.

SCHEMAT DOM

SCHEMAT DOM Głównym, globalnym obiektem DOM przeglądarki jest window. W tym obiekcie przechowywane są wszystkie globalne zmienne i funkcje. W nim jest także obiekt document, który reprezentuje całą stronę www. W oparciu o DOM JavaScript może: Dodawać, zmieniać i usuwać wszystkie elementy HTML i ich atrybuty na stronie; Zmieniać wszystkie style i klasy CSS na stronie; Dodawać i reagować na wszystkie zdarzenia HTML na stronie;

PORUSZANIE PO DOM HTML Wszystkie elementy HTML na stronie są zawarte w obiekcie document drzewa DOM HTML i tworzą tzw. kolekcje elementów. Kolekcje elementów - tablice zawierające informacje o wszystkich elementach danego typu. Np.: kolekcja forms zawiera w sobie wszystkie formularze i odwołujemy się do niej poprzez document.forms. Ilość elementów w kolekcji odczytuje się za pomocą właściwości lenght var formscounter = document.forms.length;

PORUSZANIE PO DOM HTML Kolekcja document.forms zawiera wszystkie formularze na stronie. Jeśli formularz ma atrybut name, to można go wybrać po nazwie w kolekcji document.forms. <form name="form1"></form> <form name="form2"></form> Do pierwszego z formularzy można się odwołać poprzez instrukcje: document.forms["form1"] document.forms.form1 document.forms[0]

PORUSZANIE PO DOM HTML Wewnątrz obiektu formularza można odwoływać się do jego kontrolek po nazwach za pośrednictwem kolekcji elements lub bezpośrednio po nazwie: <input type= text name= elname > document.forms[0].texts['elname'] document.forms[0].elname Żeby nie powtarzać w kółko document.forms... można sobie przypisać obiekt formularza do zmiennej tymczasowej: var f = document.forms[0]; f.elname.value= Agnieszka ;

PODSTAWOWE METODY I WŁASNOŚCI Metoda getelementbyid(id) Jeśli element ma identyfikator, to można go znaleźć za pomocą getelementbyid(id). Jest to najczęściej używany sposób dostępu do elementu. Własność innerhtml Najprostszy sposób na pobranie lub zastąpienie zawartości elementu. document.getelementbyid("demo").innerhtml = "Hello World!"; Własność innerhtml może być użyta do każdego elementu HTML, także <html> i <body>.

ODNAJDYWANIE ELEMENTÓW HTML document.getelementbyid(id) wykorzystuje element ID PRZED: <p id= demo > </p> // <p class= full >Akapit</p> // Akapit <script> document.getelementbyid( demo ).innerhtml= Lepszy akapit ; </script> PO: <p id= demo > </p> // Lepszy akapit <p class= full >Akapit</p> // Akapit

ODNAJDYWANIE ELEMENTÓW HTML document.getelementsbytagname(name) - wykorzystuje znacznik; PRZED: <p id= demo > </p> // Lepszy akapit <p class= full >Akapit</p> // Akapit <script> document.getelementbytagname( p ).innerhtml= Zwykły akapit ; </script> PO: <p id= demo > </p> // Zwykły akapit <p class= full >Akapit</p> // Zwykły akapit

ODNAJDYWANIE ELEMENTÓW HTML document.getelementsbyclassname(name) wykorzystuje klasę; PRZED: <p id= demo > </p> // Lepszy akapit <p class= full >Akapit</p> // Akapit <script> document.getelementbyclassname( full ).innerhtml= Jestem najlepszy! ; </script> PO: <p id= demo > </p> // Zwykły akapit <p class= full >Akapit</p> // Jestem najlepszy!

ZMIANA ELEMENTÓW HTML element.innerhtml zmienia zawartość elementu HTML; element.attribute - zmienia wartość atrybutu elementu HTML; document.getelementbyid( demo ).value= Brukselka ; document.getelementbyid( demo ).classname= title ; element.setattribute(attribute, value) - zmienia wartość atrybutu elementu HTML; element.style.property zmienia styl elementu HTML; document.getelementbyid( demo ).style.width= 200px ; document.getelementbyid( demo ).style.bordercolor = #ff0000 ;

ZMIANA ELEMENTÓW HTML element.style.property oraz element.classname Dzięki możliwości modyfikowania stylu danego elementu możliwe jest uzyskanie ciekawych efektów: Ukrywanie elementów: element.style.display = 'none' Zmiana pozycji elementów: element.style.left = x + 'px'; Przy używaniu nazw styli wykorzystuje się również notację wielbłądzią (camel case). background-color = backgroundcolor float = cssfloat Zaleca się jednak wykorzystywanie własności classname, w celu oddzielenia kodu JavaScript od wyglądu strony.

DZIĘKUJĘ ZA UWAGĘ MATERIAŁY POMOCNICZE http://www.w3schools.com/js/default.asp