Programování v jazyce JavaScript

Podobné dokumenty
Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

(X)HTML, CSS a jquery

Mgr. Vlastislav Kučera přednáška č. 2

Mgr. Vlastislav Kučera lekce č. 2

Název Live prez Sear enta Maps

Mgr. Vlastislav Kučera Struktura stránky, hlavička,

NSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák

Programování v PHP. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze. Další možnosti formulářů

CSS 1 Relativní pozicování Relativní pozicované bloky jsou pozicované vůči nornálnímu toku elementů dokumentu. (nejsou vyjmuty z normálního toku jako

Dokument XHTML. Prohlížeč. styl CSS. Výstupní dokument. Soubor DTD

HTML - Úvod. Zpracoval: Petr Lasák

Základy CSS (3. přednáška)

Tvorba WWW stránek. Mojmír Volf

PŘEHLED A MOŽNOSTI VYUŽITÍ WEBOVÝCH MAPOVÝCH SLUŽEB

CSS (Cascading Sytle Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek.

Tvorba webu. Úvod a základní principy. Martin Urza

GIS integrované využití 6 sem podtitul nebo stručně obsah. OpenLayers

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

HTML Hypertext Markup Language

Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití

Ajax - úvod. Klíčové pojmy: Ajax, skriptování na straně klienta a serveru, objekt XMLHttpRequest, DOM model.

WWW a HTML. Základní pojmy. Ivo Peterka

Tvorba webových stránek

NSWI096 - INTERNET. Úvod do HTML

Jazyk C# a platforma.net

O CSS podrobněji. Box model Document flow Layout

Tvorba webových stránek

Front-end responzivního webu v HTML5 a CSS3.

školení frontend CSS Preprocesory

<html> - párový tag, uzavírá celý dokument <head> - párový, určuje hlavičku dokumentu <body> - párový, uzavírá tělo dokumentu Př. Základní struktura

Tvorba webových stránek

CSS Selektory tříd a ID, dědičnost, další vlastnosti. Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace

Uspořádání klient-server. Standardy pro Web

CSS Kaskádové styly. formátování webových stránek

HTML stránka vložení obrázku

HTML stránka odkaz, zvýraznění textu

Parsování HTML. Pro účely testování jsem vytvořil stránku parsovani.html. Zdrojový kód:

Programování v jazyce JavaScript

NSWI096 - INTERNET JavaScript

Úvod do aplikací internetu a přehled možností při tvorbě webu

Tvorba webu v HTML. Redakční systém. CMS Joomla! Co je Joomla

Úvod do tvorby internetových aplikací

Jazyk C# - přístup k datům

Vývoj Internetových Aplikací

Úvod do tvorby internetových stránek v jazyce HTML

CSS Stylování stránek. Zpracoval: Petr Lasák

!!Via!AUREA,!s.r.o.!

Internetové publikování. Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)

Podpora nových webových technologií HTML5 a CSS3 v aktuálních verzích prohlížečů

selektor {vlastnost1: hodnota_vlastnosti1; vlastnost2: hodnota_vlastnosti2;}

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

TVORBA WEBOVÝCH STRÁNEK

Kaskádové styly. CSS (Cascading Sytle Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek.

CSS 1. Blokový model Každý element tvoří obdélník. Dva druhy obdélníků: - Blokové; - Vložené. Zde je dlouhý text v kterém nachazí vložené...

Kaskádové styly (CSS)

Formuláře. Internetové publikování. Formuláře - příklad

jquery - úvod Zdroj: Jiří Zralý:

KIV/PIA 2012 Ing. Jan Tichava

Název DUM: VY_32_INOVACE_2B_14_ Programovací_jazyk_HTML

Tomáš Herout

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Jazyk C# - přístup k datům

Základy HTML (2. přednáška)

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Mgr. Vlastislav Kučera Header, footer, navv, article, section, boxy, margin, padding, border

Jak vytva r et webove stra nky pomocı XHTML a CSS.

Architektura softwarových systémů

Vývoj Internetových Aplikací

12. Základy HTML a formuláře v HTML

Káskádové styly = CSS

JavaScript 101. "Trocha života do statických stránek"

pracuje na principu Požavek/Odpověď (request/response) výhodou je jednoduchost a teoretická možnost přenášet objekty jakéhokoliv druhu

Internet cvičení. ZS 2009/10, Cvičení 3., Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

Tvorba webových stránek

Základy informatiky. 03, HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

13. Vytváření webových stránek

JavaScript v praxi: Sokoban (5. přednáška)

Inovace výuky prostřednictvím šablon pro SŠ

Internet 2 css, skriptování, dynamické prvky

1. Přímo vložený styl

HTML. Úvod do (X)HTML. Tagy značky. Slouží ke strukturování dokumentu (párové a nepárové) <tag atribut1= hodnota atributu > text </tag>

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Formuláře. Internetové publikování

Základy (X)HTML. WWW stránka WWW stránka dokument (soubor) s informacemi a pokyny pro jejich zobrazení

Rozměry, okraje a rámečky

Vývoj Internetových Aplikací

Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči

+ knihovna funkcí usnadňujících práci v javascriptu

(X)HTML. Internetové publikování

XHTML 1. Značkovací jazyky (mark-up): Součastí prostředků je systém m značek

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Transkript:

Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Skriptování dokumentu - DOM 2 BI-JSC Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti P. Štěpán PHP BI-PHP, výpis 12 1/6

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <style> h1 { color:red; text-decoration: underline; p { color: blue;.zluty { color: yellow; #tretiodstavec { color: red; #seconddiv { background-color: green; width:200px; height:20px; </style> </head> <body> <h1>dalsi moznosti modelu DOM (DOM Level 2,3)</h1> <div id="ukazkadiv" style="color:green">ja jsem ukazkovy div</div> <p>prvni odstavec</p> <p class="zluty">druhy odstavec</p> <p id="tretiodstavec">treti odstavec</p> <p class="zluty">ctvrty odstavec</p><br><br> <div id="mydiv">toto je muj div</div> <div id="seconddiv" style="background-color:yellow; border:3px solid blue"> A tohle je druhy div</div> <script type="text/javascript"> // DOM urovne 2,3 ma vice modulu // Rozsireni o namespaces: html element XHTML stranky muze mit // (explicitni nebo implicitni) namespace: // <html xmlns="http://www.w3.org/1999/xhtml"> // Vhodne hlavne, vkladame-li do stranky elementy // z jineho namespaces (napr. SVG) P. Štěpán PHP BI-PHP, výpis 12 2/6

// Proto byla provedena nektera rozsireni u typu Node: // vlastnosti: //.localname - jmeno uzlu bez prefixu //.namespaceuri- jmeno namespace daneho uzlu // (null, neni-li ns definovan) //.prefix - prefix jmena // metody (DOM 3) //.isdefaultnamespace(namespace) //.lookupnamespaceuri(prefix) //.lookupprefix(namespace) // Rozsireni pro document: //.createelementns(namespace,nazevtagu] //.createattibutens //.getelementbytagnamens // Rozsireni pro element: //.getattributens //.getattibutenodens //.getelementsbytagnamens //.hasattributens //.removeattributens //.setattributens //.setattributenodens // (+ dalsi drobne zmeny v DOM 2,3) // Prace se styly: /* Podporuje browser praci s CSS na urovni DOM level 2? (Nemusi chodit!) alert(document.implementation.hasfeature("css","2.0")); podporuje CSS2? alert(document.implementation.hasfeature("css2","2.0")); Element HTML (podporujici CSS) maji vlastnost style (instance CSSStyleDeclaration). Vlastnost style NEobsahuje zadne odvozene (kaskadovane) vlastnosti z pouzitych sablon stylu - POUZE hodnoty z atributu style daneho prvku. Nazvy vlastnosti CSS se reprezentuji jako nazvy vlastnosti objektu style: color --> style.color Nelze pouzivat pomlcky ("minus") - proto camel style: font-family --> style.fontfamily Nelze pouzit float (klicove slovo) - proto cssfloat (IE - stylefloat) */ P. Štěpán PHP BI-PHP, výpis 12 3/6

// Styly mozno menit JavaScriptem - efekty: alert("zmenim div!"); var mydiv = document.getelementbyid("mydiv"); // zmena barvy: mydiv.style.backgroundcolor = "cyan"; // zmena rozmeru mydiv.style.width = "130px"; // jednotky vyzadovany ve std. rezimu! mydiv.style.height = "20px"; // nastaveni ohraniceni mydiv.style.border = "2px solid red"; // Styly lze i cist (ovsem jen z atributu style - ne kaskadovane) // vlastnosti a metody objektu style (nektere) //.csstext - vlastni CSS jako string (lze i prirazovat) // alert(mydiv.style.csstext); //.length - pocet vlastnosti // alert(mydiv.style.length); // vrati objekt typu CSSValue s hodnotou dane vlastnosti: //.getpropertycssvalue(nazevvlastnosti) //.getpropertyvalue(nazevvlastnosti) - vrati řetězec // nazev CSS, ne JavaScript! // alert(mydiv.style.getpropertyvalue("background-color")); // pristup k vlastnostem:.item(index) nebo "pole:" style[index] // alert(mydiv.style.item(0)); // alert(mydiv.style[0]); // totez //.removeproperty //.setproperty // vypis vlastnosti stylu var str=""; for(var i = 0; i < mydiv.style.length; i++){ var name = mydiv.style[i]; str += name + " : " + mydiv.style.getpropertyvalue(name) + "\n"; // alert(str); P. Štěpán PHP BI-PHP, výpis 12 4/6

// Odvozene (kaskadovane) styly - lze pouze cist var mydiv2 = document.getelementbyid("seconddiv"); // ziskani kaskadovaneho stylu (null - zadny pseudoelement // jako ":after") var computedstyle = document.defaultview.getcomputedstyle(mydiv2, null); // alert(computedstyle.backgroundcolor); // yellow // alert(computedstyle.width); // IE - nema getcomputedstyle, ale currentstyle // Stylesheets (sablony stylu) - jak <link...> tak <style...> // typ CSSStyleSheet // nektere vlastnosti a metody: //.disabled (mozno i nastavit) //.href - adresa pro sablonu link (jinak null) //.media - kolekce podporovanych medii //.ownernode - pointer na uzel link nebo style pro tuto sablonu //.parentstylesheet - odkaz na sablonu, do ktere je tato zaclenena // pomoci @import //.cssrules - kolekce pravidel v sablone //.deleterule(index) - (IE - removerule) //.insertrule(pravidlo,index) - (IE - addrule) // ma podporu DOM 2.0 pro StyleSheets? // alert(document.implementation.hasfeature("stylesheets","2.0")); // vsechny sablony - kolekce document.stylesheets // vypis vsech sablon stylu var mysheet = document.stylesheets[0]; // kazda sablona - kolekce pravidel cssrules var itsrules = mysheet.cssrules; str = ""; for (var i = 0; i < itsrules.length; i++){ // kazde rule ma vlastnosti jako csstext, selectortext,... str += itsrules[i].csstext + "\n"; // alert(str); // proprietarni metody a vlastnosti pro zjisteni rozmeru elementu: // element.offsetheight,.offsetleft,... - readonly // je-li element vnoren do dalsiho, je treba pouzit odsazeni rodice // offset parent atd. // Zobrazovaci plocha // document.documentelement.clientheight,.clientwidth - rozmery // zocrazovaci plochy // IE 6 a starsi - document.body.clientheight P. Štěpán PHP BI-PHP, výpis 12 5/6

// jsou-li scrollbars, je mozno pouzit (ruzne hodnoty v ruznych // browserech): scrollheight, scrolltop, scrollwidth, scrollleft // nektere novejsi browsery maji pro elementy metodu //.getboundingclientrect // vraci objekt s vlastnostmi left top right a bottom // - umisteni na strance vzhledem k zobrazovacímu poli // Prochazeni stroktury DOM - NodeIterator a TreeWalker (ne IE) // test existence: // alert(document.implementation.hasfeature("traversal","2.0")); // spolehlivejsi: // alert(typeof document.createnodeiterator == "function"); // alert(typeof document.createtreewalker == "function"); // prochazeni podstromu daneho uzlu (ne nahoru ke korenu) // lze i filtrovat, zadame-li filter var filter = function(node){ return node.tagname.tolowercase() == "div"? NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP; // varianta s filtrovanim // var iterator = // document.createnodeiterator(document.documentelement, // NodeFilter.SHOW_ELEMENT,filter,false); // varianta bez filtrovani var iterator = document.createnodeiterator(document.documentelement, NodeFilter.SHOW_ALL,null,false); // vlastni prochazeni: str = ""; var node = iterator.nextnode(); while (node!= null){ str += node.tagname + "\n"; node = iterator.nextnode(); // alert(str); // TreeWalker - pokrocilejsi: ma.parentnode(),.firstchild, //.lastchild,.nextsibling,.previoussibling,... </script> </body> </html> P. Štěpán PHP BI-PHP, výpis 12 6/6