javascript the browsermelissa/web/20162-docs/inf1802-04-javascript... · var x =...

31
Javascript The Browser INF1802 Profa. Melissa Lemos

Upload: others

Post on 27-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Javascript – The Browser

INF1802

Profa. Melissa Lemos

Page 2: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Outline

• Module 2 – Javascript and the Browser

Page 3: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Reference

• W3Schools - Javascript• http://www.w3schools.com/js/

• Eloquent JavaScript. A Modern Introduction to Programming. MarijnHaverbeke. • http://eloquentjavascript.net/

Page 4: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Module 2 – The Browser

Page 5: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM

• When a web page is loaded, the browser creates a Document Object Model of the page.

• The HTML DOMmodel is constructed as a tree of objects

Page 6: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM

• The DOM is a W3C (World Wide Web Consortium) standard.

• The DOM defines a standard for accessing documents

"The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document."

Page 7: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM

• With the object model, JavaScript gets all the power it needs to create dynamic HTML:• JavaScript can change all the HTML elements in the page

• JavaScript can change all the HTML attributes in the page

• JavaScript can change all the CSS styles in the page

• JavaScript can remove existing HTML elements and attributes

• JavaScript can add new HTML elements and attributes

• JavaScript can react to all existing HTML events in the page

• JavaScript can create new HTML events in the page

Page 8: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM

• In the DOM, all HTML elements are defined as objects.

• The programming interface is the properties and methods of each object.

• A property is a value that you can get or set (like changing the content of an HTML element).

• A method is an action you can do (like add or deleting an HTML element).

Page 9: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

getElementById is a method, innerHTML is a property

Page 10: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM – Properties and Methods

• http://www.w3schools.com/js/js_htmldom_document.asp

Page 11: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

1 - Changing HTML Content

document.getElementById(id).innerHTML = new HTML

Page 12: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Finding HTML Element by Id

var myElement = document.getElementById("intro");

Page 13: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Finding HTML Elements by Tag Name

Example: finds all <p> elementsvar x = document.getElementsByTagName("p");

Page 14: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Finding HTML Elements by Class Name

var x = document.getElementsByClassName("intro");

Page 15: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Finding HTML Elements by CSS Selectors

If you want to find all HTML elements that matches a specified CSS selector (id, class names, types, attributes, values of attributes, etc), use the querySelectorAll() method.Example: returns a list of all <p> elements with class="intro".var x = document.querySelectorAll("p.intro");

Page 16: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM – more ...

• http://www.w3schools.com/js/js_htmldom_elements.asp• Test yourself with exercises 1 - 5

Page 17: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

2 - Changing the Value of an Attribute

document.getElementById(id).attribute=new value

Page 18: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

3 - Changing HTML Style

document.getElementById(id).style.property=new style

Page 19: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Changing HTML Style – more ...

• http://www.w3schools.com/js/js_htmldom_css.asp• Test yourself with exercises 1 - 5

Page 20: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM Events

• The HTML DOM allows you to execute code when an event occurs.

• Events are generated by the browser when "things happen" to HTML elements:

Page 21: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM Events - Examples

• When a user clicks the mouse

• When a web page has loaded

• When an image has been loaded

• When the mouse moves over an element

• When an input field is changed

• When an HTML form is submitted

• When a user strokes a key

Page 22: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

1 – Event: onclick (id)

Page 23: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

2 – Event: onclick (text)

Page 24: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

3 – Event: onclick (button)

Page 25: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

4 – Event: onchange

onchange: often used in combination with validation of input fields.

Page 26: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

5 – Event: onmouseover; onmouseout

onmouseover/ onmouseout: triggered a function when the user mouses over, or out of, an HTML element

Page 27: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

DOM Events

• http://www.w3schools.com/js/js_htmldom_events.asp• Test yourself with exercises 1 - 3

Page 28: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Listener

Page 29: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Listener

Page 30: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find

Example – Image Gallery

Page 31: Javascript The Browsermelissa/WEB/20162-docs/INF1802-04-Javascript... · var x = document.getElementsByClassName("intro"); Finding HTML Elements by CSS Selectors If you want to find