+ All Categories
Home > Documents > Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s...

Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s...

Date post: 05-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
67
Client-Side Web Development Class 10.1
Transcript
Page 1: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Client-Side Web DevelopmentClass 10.1

Page 2: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Today’s Topics

• Functions

• Event Handling

• Exercise: Event Horizon

Page 3: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Announcements

Page 4: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Web Portfolio

Page 5: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Any Questions?

Page 6: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Functions

Page 7: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

A function is set of statements that can be used to perform a task some

time in the future

Page 8: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

A function can be executed multiple times

Page 9: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

A function should be declared before it can be called.

Page 10: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Declaring a Function

Page 11: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

A function definition starts with the function keyword followed by a

name, set of parentheses, and a set of curly braces.

Page 12: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

The return statement is used to specify the value a function will return after complete its task

Page 13: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

Page 14: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

The function keyword

Page 15: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

The name of the function

Page 16: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

Set of parenthesis used to hold parameters

Page 17: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` } Set of curly braces used to

hold the code block

Page 18: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

Returns any value that proceeds it, when the function is called

Page 19: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Calling a Function

Page 20: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

A function does not execute until it is called

Page 21: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

To call a function, use the function's name or variable followed by a set

of parenthesis

Page 22: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

// Calling the function greeting() // Hello World

Page 23: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Function definition function greeting () { return `Hello World` }

// Calling the function greeting() // Hello World

Use the function name to call the function

Page 24: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Function Scope

Page 25: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Variables declared inside a function can only be accessed by the

function and its children

Page 26: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Variables declared outside of any function or block are accessible

from inside a function

Page 27: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Creating a global variable const who = `World`

// Function definition function greeting () { // Creating a function variable const salutation = `Hello` return `${salutation} ${who}` }

console.log(greeting()) // Hello World console.log(salutation) // Error

Page 28: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Creating a global variable const who = `World`

// Function definition function greeting () { // Creating a function variable const salutation = `Hello` return `${salutation} ${who}` }

console.log(greeting()) // Hello World console.log(salutation) // Error

A global variable is one that is declared outside of a

block or function

Page 29: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Creating a global variable const who = `World`

// Function definition function greeting () { // Creating a function variable const salutation = `Hello` return `${salutation} ${who}` }

console.log(greeting()) // Hello World console.log(salutation) // Error

Global variables can be used inside of a function

Page 30: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Creating a global variable const who = `World`

// Function definition function greeting () { // Creating a function variable const salutation = `Hello` return `${salutation} ${who}` }

console.log(greeting()) // Hello World console.log(salutation) // Error

Variables declared inside a function have function scope

Page 31: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

// Creating a global variable const who = `World`

// Function definition function greeting () { // Creating a function variable const salutation = `Hello` return `${salutation} ${who}` }

console.log(greeting()) // Hello World console.log(salutation) // Error

Variables declared inside a function cannot be used outside

of the function

Page 32: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Event Handling

Page 33: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

DOM Events

Page 34: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

DOM Events are notifications that some action has occurred on the

page.

Page 35: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

DOM Events can represent a basic user action or the status of the

render model.

Page 36: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

There are DOM Events for the keyboard, mouse, touch, clipboard, media, view, printing, drag & drop,

animation, forms, and more

Page 37: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

To have JavaScript respond to DOM Events you must add an event

listener to an element

Page 38: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Event Listeners

Page 39: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Event Listeners are JavaScript objects that listens for a specific DOM Event to occur and

executes a function when it does

Page 40: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

The addEventListener() Method

Page 41: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

This method listens for a specified event to occur on a specified

element and then executes the provided function

Page 42: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

This method requires an event type and a function

Page 43: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $button = document.getElementById('button')

$button.addEventListener('click', function () { alert(`You pressed the button!`) })

Page 44: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Event Types

Page 45: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Mouse Events

Page 46: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Mouse Events

• mouseenter

• mouseover

• mousemove

• mousedown

• mouseup

• auxclick

• click

• dblclick

• contextmenu

• wheel

• mouseleave

• mouseout

• select

Page 47: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $button = document.getElementById('button')

$button.addEventListener('mouseover',function () { alert(`Don't you do it!`) })

$button.addEventListener('click', function () { alert(`You pressed the button!`) })

$button.addEventListener('mouseout', function () { alert(`Don't do it again!`) })

Page 48: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $button = document.getElementById('button')

$button.addEventListener('mouseover',function () { alert(`Don't you do it!`) })

$button.addEventListener('click', function () { alert(`You pressed the button!`) })

$button.addEventListener('mouseout', function () { alert(`Don't do it again!`) }) Listening for three different

events to occur

Page 49: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Keyboard Events

Page 50: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Keyboard Events

• keydown

• keypress (ignores modifier keys)

• keyup

Page 51: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Getting Key Codes

Deprecated

• event.keyCode (100%)

• event.charCode

• event.which

Not Fully Supported

• event.key (85%)

• event.code (48%)

Page 52: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Checking for Modifier Keys

• event.ctrlKey

• event.shiftKey

• event.altKey

• event.metaKey (Not Fully Supported)

Page 53: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const textbox = document.getElementById('textbox')

textbox.addEventListener('keyup', function (event) { console.log(`You typed ${event.key}`) })

Page 54: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $textbox = document.getElementById('textbox')

$textbox.addEventListener('keyup', function (event) { console.log(`You typed ${event.key}`) })

Event Object

Page 55: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $textbox = document.getElementById('textbox')

$textbox.addEventListener('keyup', function (event) { console.log(`You typed ${event.key}`) })

Represents the key pressed as a string

Page 56: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Other Standard Events

Page 57: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Other Standard Events

• blur

• change

• copy

• cut

• focus

• invalid

• load

• paste

• reset

• resize

• select

• submit

Page 58: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Adding to Multiple Elements

Page 59: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

There will be times when you will need to add an event listener to multiple elements

Page 60: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

This can be done using a loop

Page 61: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

<div id="box"></div>

<button class="button">red</button> <button class="button">green</button> <button class="button">blue</button>

Page 62: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $box = document.getElementById('box') const $buttons = document.querySelectorAll('.button')

for (const $button of $buttons) { $button.addEventListener('click', function (e) { $box.style.background = e.target.textContent

})

}

Page 63: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $box = document.getElementById('box') const $buttons = document.querySelectorAll('.button')

for (const $button of $buttons) { $button.addEventListener('click', function (e) { $box.style.background = e.target.textContent

})

} Event Object

Page 64: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

const $box = document.getElementById('box') const $buttons = document.querySelectorAll('.button')

for (const $button of $buttons) { $button.addEventListener('click', function (e) { $box.style.background = e.target.textContent

})

}

The Button that was clicked

Page 65: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Examples

Page 66: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

Exercise: Event Horizon

Page 67: Client-Side Web Development - GitHub Pages · Client-Side Web Development Class 10.1 Today’s Topics • Functions • Event Handling • Exercise: Event Horizon Announcements Web

For next class...

• Review: Dominoes

• Lab: Domino's


Recommended