Języki programowania wysokiego poziomu. JavaScript jquery

Podobne dokumenty
Tworzenie Stron Internetowych. odcinek 10

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

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

Podstawy JavaScript ćwiczenia

Wykład 03 JavaScript. Michał Drabik

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32

Funkcje i instrukcje języka JavaScript

Szczegółowy opis zamówienia:

XML extensible Markup Language. część 5

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

WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT

XML extensible Markup Language. część 5

Zajęcia 4 - Wprowadzenie do Javascript

Rys.2.1. Drzewo modelu DOM [1]

Języki skryptowe w programie Plans

Krótki kurs JavaScript

CZYM JEST JAVASCRIPT?

Technologie Internetu. JQuery

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

JAVAScript w dokumentach HTML - przypomnienie

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

Aplikacje WWW - laboratorium

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

DOM (Document Object Model)

Technologie internetowe w programowaniu

Bazy Danych i Usługi Sieciowe

JavaScript funkcyjność

Podstawy programowania w języku JavaScript

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Języki programowania wysokiego poziomu. Blog

Języki programowania wysokiego poziomu WWW

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

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Języki programowania wysokiego poziomu. Forum

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

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

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

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.

Cw.12 JAVAScript w dokumentach HTML

JAVAScript w dokumentach HTML (2)

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

Zdarzenia Zdarzenia onload i onunload

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Tworzenie Stron Internetowych. odcinek 10

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

JAVAScript w dokumentach HTML (1)

Umieszczanie kodu. kod skryptu

Aplikacje WWW - laboratorium

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

JavaScript obiektowość

Wprowadzenie do HTML, CSS, JavaScript, PHP. Kurs

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Zaawansowane aplikacje internetowe

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

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

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Aplikacje WWW - laboratorium

Programowanie internetowe

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

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

I - Microsoft Visual Studio C++

Podstawy programowania w języku C

TECHNOLOGIE SIECI WEB

Wybrane działy Informatyki Stosowanej

Wykład 2 Składnia języka C# (cz. 1)

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Języki programowania wysokiego poziomu. Ćwiczenia

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

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

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

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

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Bazy danych i strony WWW

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Szybko, prosto i tanio - ale czy na pewno?

Systemy internetowe Wykład 3 PHP

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

O stronach www, html itp..

Bootstrap. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Michał Bielecki, KNI 'BIOS'

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

Programowanie obiektowe. Wykład 4

W ogólności znaczniki mogą również posiadać atrybuty które pozwalają wpływać i manipulować własnościami znaczników lub przenosić dodatkowe informacje:

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

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

JavaScript i jquery : nieoficjalny podręcznik / David Sawyer McFarland. Rozdział 1. Pierwszy program w języku JavaScript 35

Laboratorium 1 Wprowadzenie do PHP

Należy ściągnąć oprogramowanie Apache na platformę

Wybrane działy Informatyki Stosowanej

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

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

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

Transkrypt:

Języki programowania wysokiego poziomu JavaScript jquery

JavaScript JavaScript skryptowy, obiektowy język programowania, stworzony przez Netscape w celu dodania "interaktywności" stronom WWW. Zastosowania: Elementy animowane i interaktywne (np. galerie zdjęć, okna pop-up, ) Sprawdzanie poprawności formularzy (ale również pomoc przy ich wypełnianiu, np. data-kalendarz) Tworzenie i obsługa elementów nawigacyjnych (wielopoziomowe rozwijane menu) AJAX zmiana treści strony bez jej przeładowania RDW tworzenie stron responsywnych http://rainbow.arch.scriptmania.com/scripts/mouse_clock.html http://randomibis.com/coolclock/ https://jqueryui.com/datepicker/ http://jquery.com/

JavaScript Mozilla, wzorując się na języku Java, chciała dać użytkownikom niezalezne od platformy (OS) środowisko do uruchamiania apletów, jednak rozwiązanie nie było adresowane do profesjonalnych programistów (jak Java, konkurująca wtedy z C++) Język początkowo nazywał się LiveScript, jednak nazwę szybko zmieniono na JavaScript (w tym czasie dodano możliwość komunikacji między JavaScript a Java).

JavaScript Microsoft dodał obsługę skryptów (JScript i VBScript) do IE3.0, zaledwie pół roku po premierze JavaScript (rok po pierwszej wersji LiveScript) IE3.0 pojawił się w poprawce do Win 95 (Win95 SR 2). Była to również pierwsza wersja IE z obsługą CSS Aż do IE8 włącznie model DOM w IE istotnie różnił się od modelu DOM w NN (później FF) skrypty NN nie działały w IE i na odwrót MS włączył JScript do.net (ok. 2000 r.) wykorzystują go dynamiczne serwisy tworzone w Visual Web Developer

JavaScript Od 1996 r. ECMA (European Association for Standardizing Information and Communication Systems) zajmuje się specyfikacją języka. Nosi on nazwę ECMAScript. Pierwsza wersja była zbliżona do JavaScript 1.1, potem ECMAScript wyprzedzał JavaScript. Po kilu latach zastoju (1999-2009) prace wznowiono, najnowsza wersja ECMAScript (edycja 6.) - ECMAScript 2015, albo ECMAScript Harmony, pochodzi z czerwca 2015 ECMA to standard (semantyka) języka (JavaScrpt i JScript to jego implementacje), natomiast dostępne np. w przegląderce obiekty, jak DOM, definiują inne organizacje (głównie W3C)

JavaScript Historia JavaScript 1996: JS 1.0 (marzec - NN 2.0) JS 1.0 (sierpień - IE 3.0, Win95 SR 2) 1997: JS 1.2 (NN 4.0) JS 3.0 (IE 4.0, ECMA 1.0) 1998: JS 1.3 (NN 4.06, implementacja standardu ECMA 2.0) 1999: JS 5.0 (IE 5.0, ECMA 2.0) DOM, AJAX 2000: JS 5.5 (IE 5.5, ECMA 3.0) JS 1.5 (Mozilla App., ECMA 3.0) DOM 2005: JS 1.6 (FF 1.5) 2006: JS 5.7 (IE 7)

JavaScript Wojny przeglądarek Pierwsza wojna przeglądarek: 1997-1999 MS Internet Explorer vs Netscape Navigator Niestandardowe rozszerzenia ("fajniejsze" strony WWW); Druga wojna przeglądarek: 2002-? MS Internet Explorer vs (Firefox + Safari + Opera) Zgodność ze standardami i likwidacja monopoli; HTML 2.0 3.0 4.0 4.1 5.0 1.0 1.1 XHTML PHP 1.0 2.0 3.0 4.0 5.0 JavaScript 1 1.2 1.3 1.5 1.6

JavaScript Podstawowe cechy: Działa po stronie przeglądarki Możliwość wykonania zależy od przeglądarki i użytkownika (można wyłączyć obsługę JavaScript!) Język skryptowy Nie jest kompilowany, ale "na bieżąco" interpretowany i wykonywany - nie wymaga specjalistycznych narzędzi, jednak przydaje się wsparcie ze strony IDE (NetBeans je ma!) Język obiektowy Dziwaczny (brak definicji klasy, jak C++, Java, C#, PHP, ), ale zaawansowany (ma np. dziedzicznie, mech. refleksji, ) Działa w przestrzeni ograniczonej przez przeglądarkę Tylko bieżący dokument i nieliczne obiekty przeglądarki, nie ma np. wglądu do systemu plików (ale są dziury!)

JavaScript Dodawanie skryptu do dokumentu HTML Określenie języka skryptowego, sekcja head: <meta http-equiv="content-script-type" content="text/javascript"> Skrypt osadzony: <script type="text/javascript" charset="utf-8"> //treść skryptu </script> Kodowanie (atr. charset) jest opcjonalne Skrypt można umieścić w dowolnej części dokumentu (tj. zarówno w head, jak i body); może być kilka skryptów Skrypt zewnętrzny: <script type="text/javascript" src="http://domena.com/js/skrypt.js"> </script>

JavaScript Dodawanie skryptu do dokumentu HTML Atrybuty zdarzeń HTML: <div onclick="foo();"> </div>

JavaScript Zmienne Zmienne mają typ, choć może on się zmienić; Nie trzeba deklarować, są tworzone przez nadanie wartości: x = 7; s = "Hello!"; Deklaracja ze słowem kluczowy var pozwala tworzyć zmienne lokalne (tego nie ma w PHP) var x = 13; var y = 7; function foo () { var x = 99; y = 14; } foo(); // x lokalne // y globalne // y zmieniło wartość, x nie

JavaScript Operatory Operatory są C-podobne, podobna jest też ich hierarchia: - inkrementacja i dekrementacja, negacja, tworzenie obiektu ++ --! new - mnożenie i dzielenie * / % - dodawanie i odejmowanie + - - op. relacji i równości > >= < <= ==!= === - iloczyn logiczny && - suma logiczna - przypisania = += -= *= /=

JavaScript Instrukcje Instrukcje również są C-podobne: - grupująca (blok) - warunkowa if oraz if-else - wyboru switch - iteracyjne for, while oraz do-while (nowa wersja ECMAScript definiuje też instrukcję foreach) for (var i = 1; i <= 20; i++) { } if (i % 2 == 0) document.write(i + " ");

JavaScript Funkcje Trochę podobne do funkcji PHP nie określa się typów argumentów i typu rezultatu; w przeciwieństwie do PHP mają dostęp do zmiennych globalnych function suma (a, b) { var s = a + b; return s; } var w = suma (7, 13);

JavaScript Standardowe obiekty, DOM Przeglądarka udostępnia obiekty: - window bieżące okno (zakładka) przeglądarki oraz jego cechy, np. innerwidth, innerheight, status - document elementy wyświetlane na stronie (<body>) oraz wiele dodatkowych właściwości (np. cookie) i metod (np. getelementbyid() często używana w skryptach) - history historia ostatnio odwiedzanych stron (tylko w bieżącym oknie/zakładce!) - navigator informacje o przeglądarce - location informacja o aktualnie wyświetlanej stronie - screen informacje o ekranie

JavaScript Przykład 1 wyświetlenie/ukrycie elementu function Toggle (id) { var node = document.getelementbyid(id); if (node.style.display == 'none') node.style.display = 'block'; else node.style.display = 'none'; } <div onclick='toggle("help")'>pokaż/ukryj pomoc</div> <div id='help'> <p>pomoc </div>

JavaScript Przykład 2 walidacja formularza function isok () { var form = document.forms.nf1; var login = form.login.value; if (login=="") { alert("error!"); return false; } else return true; } <form id='if1' name='nf1' onsubmit='return isok()'> <input type='text' name='login'> <input type='submit'> </form>

jquery jquery darmowa biblioteka JavaScript, hiper-obiektowa, łatwa w użyciu, elastyczna, wydajna. Znacznie ułatwia tworzenie skryptów: Wybieranie elementu (grupy elementów) DOM Manipulowanie elementami DOM (treść, klasa, styl, ) Funkcje obsługi zdarzeń AJAX

jquery jquery linie wydań: 1.xx z obsługą IE 6-8 (obecnie 1.12) 2.xx bez (ocecnie 2.2) jquery zwalnia z konieczności poznawania niuansów implementacji JavaScript w różnych przeglądarkach

jquery jquery sposób użycia Manipulacja DOM: WybierzEl. FiltrujWybór. ZmieńEl Zdarzenia WybierzEl. Dowiąż ( funkcja ) AJAX Żądanie ( parametry, funkcja ).Sukces ( funkcja ).Porażka (funkcja )

Funkcja fabryczna jquery() albo $() - funkcja fabryczna, wybiera element(y) do dalszych działań Można stosować wszystkie selektory i kombinacje selektorów znane z CSS: $("div") <div> $(".post") <? class="post"> $("#menu") <? id="menu"> $("div.post > p") $("#menu a")

Funkcja fabryczna jquery() albo $() - funkcja fabryczna, wybiera element(y) do dalszych działań Można stosować pseudoklasy jquery, np.: :first pierwszy znaleziony element (albo :last ostatni) :first-child pierwsze dziecko :nth-child() n-te dziecko (numeracja od jeden) :nth-child(odd) nieparzyste (albo even parzyste) :first-of-type pierwszy tego typu :nth-of-type() n-ty tego typu, np. p:nth-of-type(1) :not() niespełniający kryterium, np. :not(:first-child)

Funkcja fabryczna jquery() albo $() - funkcja fabryczna, wybiera element(y) do dalszych działań Są też pseudoklasy dotyczące formularzy: :input :text input type="text" (oraz :password, :radio, :submit, ) :checked :disabled

Funkcja fabryczna Posługiwanie się funkcją fabryczną wymaga wprawy oraz precyzji Np. czym różnią się: $("div:first-child") $("div :first-child") $("div p:first-child") $("div > p:first-child") Przydaje się dobry punkt zaczepienia w strukturze html, np.: <div class="post"> <h2> <div class="text"> <p> <p> <ul> <p> <table> <p>

Filracja i/lub zmiana wyboru jquery dostarcza funkcje do tego służące, m.in.: children() dzieci każdego wcześniej wybranego add() dodaj wg selektora not() usuń wg selektora next() następny nextall() wszystkie następne dzieci tego samego elementu first() tylko pierwszy el. ze zbioru parent() rodzic wybranego andself() dodaje poprzedni zbiór do obecnego filter() filtruje zbiór wg selektora $("h2").parent() $("p:nth-child(2)").nextall() $("p").add("li").filter(":nth-child(odd)")

Filracja i/lub zmiana wyboru Niejawna i jawna iteracja Wszystkie operacje są wykonywane jako pseudo-pętla: jeżeli funkcja fabryczna zwróci zbiór elementów (a nie jeden), to czynności są wykonywane na każdym elemencie ze zbioru: $(".tip").hide(); Jeżeli potrzebna jest jawna iteracja, należy użyć funkcji each(). Element DOM, na rzecz którego iteracja jest wykonywana, jest dostępny jako this; Aby użyć funkcji jquery, trzeba użyć funkcji fabrycznej: $("this") $(".tip").each( function() { this.innerhtml = "!"; // DOM $(this).html("!"); // jquery });

Zmiana wyglądu/treści elementu jquery dostarcza funkcje do tego służące, m.in.: addclass(klasa) dodaje klasę CSS (musi być zdefiniowana) removeclass(klasa) usuwa klasę css(właściwość, wartość) zmienia styl html(treść) podmienia zawartość elementu empty() opróżnia element z zawartości append(treść) dodaje treść na końcu elementu prepend(treść) na początku elementu after(treść) dodaje treść za elementem $("tr:nth-child(odd)").addclass("gray"); $("#menu").append("<a href='xxx'>xxx</a>"); $("#log").append("<p>" + message); $("#err").empty();

Zmiana wyglądu/treści elementu jquery dostarcza więcej takich funkcji, m.in.: hide() ukrywa show() pokazuje toggle() ukrywa/pokazuje fadetoggle() jw. z efektem animacji classtoggle() dodaje/usuwa klasę $("#err").hide();

Sekwencje funkcji Każda funkcja jquery, służaca do manipulacji elementami DOM zwraca jako rezultat zbiór, na którym działała; Dzięki temu funkcje można łączyć w sekwencje $("#err").show().addclass("red"); Funkcje wyboru elementów i manipulacji nimi można łączyć: $("div.post").show().find("h2").addclass("big").nextall().removeclass("gray").andself().addclass("red");

Zdarzenia jquery dostarcza funkcje ułatwiające dowiązywanie funkcji obsługi zdarzeń click(funkcja) obsługa onclick -- podobnie focus, hover, keypress, keydown, mousedown, on("zdarzenie", funkcja) $("h2").next().hide(); $("h2").click( function() { $(this).next().fadetoggle(); });

Zdarzenia Dowiązywać można funkcje anonimowe albo nazwane Funkcja anonimowa: $("h2").click( function() { $(this).next().fadetoggle(); }); Funkcja nazwana: function Foo () { $(this).next().fadetoggle(); } $("h2").click( Foo );

AJAX jquery dostarcza funkcje pobierające dane z serwera na kilku poziomach abstrakcji: ajax niskopoziomowy, nawiększe możliwości dostosowania, ale najbardziej złożony (~20 parametrów) get i post (~4 parametry) load (1/2 parametry, get albo post zależnie od drugiego) Oprócz tego są globalne zdarzenia ajaxstart() ajaxerror() ajaxsuccess() ajaxcomplete()

AJAX Fukcja get(): Deklaracja: Przykład $.get( URL [,data] [,success(data)]); $("#getit").click( function() { $.get("getit.php", function(data) { $("#showit").html(data); }); });

AJAX Fukcja get(): Funkcja get (podobnie post) zwraca obiekt jqxhr, dzięki czemu można precyzyjniej określić działania po jej zakończeniu: $("#getit").click( function() { $.get("getit.php").done(function(data) { $("#showit").html(data); }).fail(function() { $("showit").html("<p>błąd!"); }).always(function() { //??? }); });

Zdarzenie ready Użycie ready zapewnia bezpieczne działanie skryptu Skrypt jest zazwyczaj dodawany na początku dokumentu html; Funkcja ready jest wykonywana po wczytaniu całego html, dzięki czemu istnieją już wszystkie potrzebne obiekty: $(document).ready(function() { });

JavaScript, jquery i NetBeans Warto zapisać skrypty JavaScript i jquery w oddzielnym pliku, wówczas NetBeans właściwie koloruje składnię i wskazuje ew. błędy: