Technologie internetowe w programowaniu

Podobne dokumenty
PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

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:

Podstawy JavaScript ćwiczenia

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

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

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

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

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

Programowanie w Sieci Internet jquery - nowy aromat kawy angular.js. Kraków, 24 października 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

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

Technologie Internetu. JQuery

plansoft.org Zmiany w Plansoft.org

Rys.2.1. Drzewo modelu DOM [1]

Dokumentacja Skryptu Mapy ver.1.1

Danuta ROZPŁOCH-NOWAKOWSKA Strona Moduł 4. Przykład 1. Przykład 2. HTML 4.01 Transitional).

Sieciowe Technologie Mobilne. Laboratorium 4

DOM (Document Object Model)

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Laboratorium 1: Szablon strony w HTML5

Specyfikacja techniczna kreacji HTML5

STRONY INTERNETOWE mgr inż. Adrian Zapała

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

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

Języki programowania wysokiego poziomu. CSS Wskazówki

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Tworzenie Stron Internetowych. odcinek 10

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Elementarz HTML i CSS

Responsywne strony WWW

Zajęcia 4 - Wprowadzenie do Javascript

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

Podstawy (X)HTML i CSS

Z CSS3 szybciej i przyjemniej

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

Innowacja pedagogiczna Pasja programowania ZESPÓŁ SZKÓŁ W CHOROSZCZY

Tomasz Grześ. Systemy zarządzania treścią, cz. II

O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

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

Dokumentacja imapliteapi

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Referat Pracy Dyplomowej

media Blitz wydajne sytemy szablonów

Funkcje i instrukcje języka JavaScript

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

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

Dziedziczenie. Dziedziczenie i kaskadowość. Dodał Administrator środa, 10 marzec :00. Tematy: Dziedziczenie Kaskadowość

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Podstawy programowania w języku JavaScript

Pomoc dla systemu WordPress

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

Kompresja stron internetowych

Ilość cyfr liczby naturalnej

Aplikacje Internetowe

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

Zad. 6: Sterowanie robotem mobilnym

Laboratorium 6 Tworzenie bloga w Zend Framework

6.4. Efekty specjalne

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Podstawy technologii WWW

Prezentacja i transformacja

Backend Administratora

<ul> <ul> </ul> </ul>

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Platforma e-learningowa

Tell a Story. Wstęp HTML & CSS. W tym projekcie nauczycie się, jak stworzyć własną stronę internetową, by opowiedzieć historyjkę, dowcip albo wiersz.

Języki programowania wysokiego poziomu. Ćwiczenia

1 Moduł Inteligentnego Głośnika

Edycja strony: W edycję danej strony wchodzimy poprzez naciśnięcie opcji

CSS - layout strony internetowej

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

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

1 Moduł Inteligentnego Głośnika 3

Aplikacje w środowisku VBA. Visual Basic for Aplications

Firebug. Instalacja Firebuga. Zakładka HTML

za pomocą: definiujemy:

Aplikacje WWW - laboratorium

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

Programowanie na poziomie sprzętu. Programowanie w Windows API

jquery Aplikacje internetowe laboratorium jquery

2 Podstawy tworzenia stron internetowych

I. Formatowanie tekstu i wygląd strony

KASK by CTI. Instrukcja

Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:

Szczegółowy opis zamówienia:

Budowa aplikacji wielowarstwowych. Zastosowanie Kaskadowych arkuszy stylów (CSS)

Podstawy technologii WWW

Przykład integracji kalkulatora mbank RATY na platformie IAI

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb

JavaScript funkcyjność

XML extensible Markup Language. część 5

AUDYT DOSTĘPNOŚCI STRONY INTERNETOWEJ

Zaawansowane aplikacje internetowe

2.8. Algorytmy, schematy, programy

PERFORMANCE W JOOMLA! JAK SPRAWIĆ ABY STRONA DZIAŁAŁA SZYBCIEJ?

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

Transkrypt:

Technologie internetowe w programowaniu Tomasz Xięski Roman Simiński Wykorzystanie jquery

Jak jquery wspomaga programistę? jquery wieloplatformowa biboteka JavaScript, wspomagająca manipulację elementami drzewa DOM, wykonywać zapytania asynchroniczne, tworzyć animacje itp. znaleźć Elementy w dokumencie HTML zmienić Zawartość strony HTML reagować Na żądania użytkownika animować Zawartość strony internetowej wymieniać Dane poprzez sieć (aktuazując widok) http://try.jquery.com/ 2

Statyczne strony HTML Web 1.0 w większości statyczne strony internetowe wykorzystujące treści dodawane przez administratora. Web 2.0 serwisy internetowe powstałe ok. 2004 roku, w których główną rolę odgrywa treść tworzona przez samych użytkowników. 3

Jak rozpocząć korzystanie z jquery? Ściągnij bibotekę jquery (lub skorzystaj z CDN). Załaduj bibotekę w kodzie danej strony internetowej. Wykorzystaj możwości biboteki w kodzie swojej strony. DOM DOM DOM JavaScript DOM DOM 4

Wyszukiwanie elementów Strona HTML <!DOCTYPE <html> <head> html> <title>jquery </head> <body> początek</title> <h1>gdzie planujesz wyjechać?</h1> <p>pokaż </body> </html> Listę</p> Reprezentacja w DOM DOCUMENT html head title jquery p... body h1 Gdzie p... p Pokaż... 5

Wyszukiwanie elementów Metoda text() pozwala na dostęp do ciągu znaków zawartego w ramach danego elementu. $jquery("h1").text(); Lub krócej: "Gdzie planujesz wyjechać?" $("h1").text(); Reprezentacja w DOM DOCUMENT html head title jquery p... body "Gdzie planujesz wyjechać?" Jest to też modyfikator: $("h1").text("dokąd? ); "Dokąd?" 6 h1 p Gdzie p... Pokaż...

Czy DOM jest już gotowy? Javascript może zostać wykonany zanim DOM zostanie poprawnie załadowany. Należy mieć pewność, że DOM zakończył wczytywanie zawartości HTML zanim zostanie wykorzystana biboteka jquery. jquery(document).ready(function(){ <code> }); Przykładowe wykorzystanie: jquery(document).ready(function(){ $("h1").text("dokąd?"); }); 7

Modyfikacja tekstu wielu elementów na raz Kod HTML <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <>Paryż</> < class='promo'>rio</> </ul> body h1 h2 ul Gdzie plan... Cele podróży Zmiana tekstu wewnątrz wszystkich elementów sty nieuporządkowanej możwa jest za pomocą polecenia: $("").text(""); 8

Selektory <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <>Paryż</> < class='promo'>rio</> </ul> CSS p {... } $("#cele"); $(".promo"); $("p"); jquery #kontener {... } $("#kontener");.klasa {... } $(".klasa");

Wybór elementów potomnych <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <> <ul id="francja"> <>Paryż</> </ul> </> < class='promo'>rio</> </ul> body... ul Rzym ul Wybór elementu potomnego (dziecka) w hierarchii DOM reazowany jest przez: Rio Paryż $("#destinations "); 10

Wybór tylko bezpośrednich potomków <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <> <ul id="francja"> <>Paryż</> </ul> </> < class='promo'>rio</> </ul> Wybór elementu potomnego (dziecka) w hierarchii DOM reazowany jest przez: body... ul Rzym ul Rio Nie wybrano Paryż $("#destinations > "); 11

Wykorzystanie pseudoselektorów <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <>Paryż</> < class='promo'>rio</> </ul> Pierwszy element: body h1 h2 ul Gdzie plan... Cele podróży $("#cele :first"); Ostatni: $("#cele :last"); 12

Wykorzystanie pseudoselektorów <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <>Paryż</> < class='promo'>rio</> </ul> Nieparzysty element: body h1 h2 ul Gdzie plan... Cele podróży $("#cele :odd"); #0 Parzysty: $("#cele :even"); #1 Numeracja rozpoczyna się od zera! #2 13

Wybór elementów w bardziej wydajny sposób <h1>gdzie planujesz wyjechać?</h1> <h2>cele podróży</h2> <p>pokaż stę</p> <ul id="cele"> <>Rzym</> <>Paryż</> < class='promo'>rio</> </ul> Zamiast: body h1 h2 ul Gdzie plan... Cele podróży $("#cele "); Stosuj: $("#cele").find(""); http://learn.jquery.com/performance/optimize-selectors/ 14

Wybór elementów w bardziej wydajny sposób Zamiast: $(":first"); Stosuj: $("").first(); body h1 h2 Gdzie plan... Cele podróży Zamiast: $(":last"); Stosuj: $("").last(); ul 15

Poruszanie się po DOM Wybór pierwszego elementu sty: $("").first(); Wybór drugiego elementu sty: $("").first().next(); body h1 h2 Gdzie plan... Cele podróży Powrót do pierwszego elementu: $("").first().next().prev(); ul 16

Poruszanie się po DOM - rodzice i dzieci Wybór elementu nadrzędnego (rodzica): $("").first().parent(); Wybór dzieci: $("#cele").children(""); Funkcja children() wybiera jednak tylko bezpośrednich potomków w przeciwieństwie do np. funkcji find. body h1 h2 ul Gdzie plan... Cele podróży 17

Dodawanie elementów $(document).ready(function() { var cena = $('<p> 399.99</p>'); }); D Dokument Dodawanie elementów: class="wakacje".append(<element>) h2 Bieszczady.after(<element>) Akapit nie jest w DOM button Jaka cena? p Price node (not in thedom yet) 399.99.prepend(<element>).before(<element>) 18

Dodawanie elementów $(document).ready(function() { var cena = $('<p> 399.99</p>'); $('.wakacje').before(cena); }); Dokument p Dany element zostaje umieszczony przed wskazanym. 399.99 class="wakacje" h2 button Bieszczady Jaka cena? 19

Dodawanie elementów D $(document).ready(function() { var cena = $('<p> 399.99</p>'); $('.wakacje').after(cena); }); Dokument h2 class="wakacje" Bieszczady Dany element zostaje umieszczony za wskazanym. Tym razem jest to integralna część hierarchii DOM. button Jaka cena? p Price node (not in thedom yet) 399.99 20

Dodawanie elementów $(document).ready(function() { var cena = $('<p> 399.99</p>'); $('.wakacje').prepend(cena); }); p class="wakacje" Dany element zostaje dołączony jako pierwszy potomek wskazanego. 399.99 h2 button Bieszczady Jaka cena? 21

Dodawanie elementów $(document).ready(function() { var cena = $('<p> 399.99</p>'); $('.wakacje').append(cena); }); Dokument class="wakacje" h2 Bieszczady button Dany element zostaje dołączony jako ostatni element należący do wskazanego. Jest to nieco szybsza metoda od poprzedniej. p Jaka cena? 399.99 Natomiast aby usunąć element: $('button').remove(); 22

Reakcja na zdarzenia Schemat zdefiniowania reakcji na zdarzenie jest następujący: element.on(<zdarzenie, reakcja>) Przykład (wyświetlenie ceny po kknięciu na przycisk): appcation.js $(document).ready(function() { $('button').on('cck', function() { var cena = $('<p>399.99</p>'); $('.wakacje').append(cena); $('button').remove(); }); }); 23

Reakcja na zdarzenia - ulepszona wersja Poprzedni kod wyszukiwał w hierarchii DOM wszystkie przyciski, więc nie działałby poprawnie, gdyby na stronie zawartych było więcej niż jeden przycisk. Należy zbadać co było źródłem zdarzenia i odnieść się tylko do tego elementu. Potrzebny appcation.js jest wskaźnik $(this) $(document).ready(function() { $('button').on('cck', function() { var cena = $('<p>399.99</p>'); $(this).after(cena); $(this).remove(); }); }); 24

Filtrowanie wyszukiwanie określonych elementów <div id='filtry'>... //elementy z klasami.promo i.koniec <button class='promocja-f'>tylko teraz </button> <button class='konczy-f'>ostatnie sztuki</button>... </div> Wyróżnij pozycje znajdujące się aktualnie w promocji poprzez dodanie klasy tak : $('#filtry').on('cck', '.promocja-f',function() { $('.wakacje').filter('.promo').addclass('tak'); }); Usuń wyróżnienie dla promocji dobiegających końca: $('#filtry').on('cck', '.konczy-f', function() { $('.wakacje').filter('.koniec').removeclass('tak'); }); 25

Zmiana sty appcation.js Funkcja css() może być wykorzystywana do zmiany sty. Działa jak akcesor lub modyfikator. $(document).ready(function() { $('#wakacje').on('cck', function() { $(this).css('background-color', '#252b30'); $(this).css('border-color', '1px sod #967'); }); }); Wspomniana funkcja implementuje wzorzec dekorator: $(this).css('background-color', '#252b30').css('border-color', '1px sod #967'); Najlepiej zmienić w ramach jednej instrukcji wszystkie style dla danego komponentu: $(this).css({'background-color': '#252b30', 'border-color': '1px sod #967'}); 26

Ukrywanie i pokazywanie elementów By appcation.js pokazać element blokowy można zmienić wartość atrybutu display: $(document).ready(function() { $('#wakacje').on('cck', function() { $(this).css('display', 'block'); }); }); Jednak efektywniejsza wersja tego przykładu to wykorzystanie funkcji show(): $(this).show() Podobnie ukrywanie elementu można zreazować za pomocą: $(this).hide() Opóźnienie pozwala wprowadzić elementy animacji: $(this).hide("slow") 27

Najprostsza animacja http://api.jquery.com 28

Wbudowane efekty w jquery fadein(), fadeout(), fadeto() ukrywa/pokazuje element zmieniając jego przeźroczystość hide() ukrywa zadany element show() pokazuje zadany element sdedown(), sdeup() ukryj/pokaż elementy wciągając je do góry/dołu strony internetowej Większość funkcji ma jeszcze wariant z przedrostkiem toggle. http://api.jquery.com 29

Proste menu rozwijane 30

Proste menu rozwijane Kod HTML Kod skryptu 31

Własne animacje funkcja animate() Funkcja animate() pozwala na reazację wielu efektów jednocześnie: By jednocześnie zmienić przeźroczystość, położenie oraz wysokość elementu: http://api.jquery.com 32

Obsługa klawiatury http://api.jquery.com 33

Obsługa myszy http://api.jquery.com 34

Przykładowy sposób sterowania postacią z gry 35

Lista zadań do zrobienia 36

Lista zadań do zrobienia 37

Wykonywanie zapytań asynchronicznie Wyśj dane na serwer i pokaż rezultat użytkownikowi po zakończeniu: Pobierz dane i odśwież stronę (bez przeładowania): http://api.jquery.com 38

Wykonywanie zapytań asynchronicznie Wyśj dane na serwer i pokaż rezultat użytkownikowi lub komunikat błędu: Pobierz i wykonaj skrypt JS: http://api.jquery.com 39