2-Programação cliente com Javascript
2-Programação cliente com Javascript
Apresentação
Propósito
Preparação
1 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Objetivos
Módulo 1
Módulo 2
Módulo 3
2 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Módulo 4
Introdução
A linguagem de programação Javascript compõe as tecnologias
que rodam no lado cliente no ambiente web. Essa linguagem,
interpretada diretamente pelo navegador, é responsável pelos
aspectos relacionados ao comportamento e à interação nas
páginas HTML.
3 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript.
4 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Inserindo o código Javascript na seção <head>, ao final da página,
dentro da tag <script>.
5 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Incorporando um arquivo externo, contendo apenas código JS, através
da tag <script> e de seu atributo “src”, onde deve ser passado o
endereço do arquivo
Recomendação
HTML
6 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
HTML
7 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Dica
HTML
8 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
9 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
var
let
10 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
const
Atenção!
Arrow functions
11 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Arrow functions
Uma importante novidade foi introduzida na especificação Javascript
ES6, as arrow functions, que podem ser definidas como uma forma mais
simples de se criar funções em JS. Confira um exemplo em que uma
arrow function que faz a multiplicação de dois números é criada e
utilizada!
Javascript
Javascript
Método JS map
Javascript
12 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
Eventos
São responsáveis por fornecer interatividade a uma página HTML,
fazendo uso da linguagem Javascript.
Exemplo
13 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
14 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Atividade
Assinale a alternativa que corresponde à afirmativa que define o que é
entendido por escopo de variáveis na linguagem Javascript.
15 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
16 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Roteiro de prática
Nossa prática consistirá na criação de uma página HTML simples,
seguida da inserção de códigos Javascript, nos quais declaremos uma
variável que deverá possuir escopo local. Para a resolução desse
exercício, você precisará dos conhecimentos adquiridos ao longo do
conteúdo e, em termos de ferramenta, de um editor de textos – pode ser
o próprio Bloco de Notas do Windows ou o Nano Editor do Linux, ou
então algo um pouco mais avançado, como o software (gratuito)
Notepad++. Também precisará de um navegador – Google Chrome,
Firefox, MS Edge etc. Agora, siga o roteiro a seguir:
17 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
Javascript
A Undefined.
19 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
E
texto is not defined.
20 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Frameworks
A biblioteca jQuery
É uma biblioteca Javascript rápida, pequena e rica em recursos. Essa
biblioteca simplifica o processo de manipulação de documentos HTML,
manipulação de eventos, animação e AJAX, com uma API fácil de usar,
que funciona em vários navegadores (JQUERY, 2020).
21 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Realizar o download com armazenamento local.
Criar um link a partir de um repositório remoto.
Javascript
22 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
DOM
23 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Árvore DOM.
Selecionando elementos
Javascript
Javascript
24 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Primeira instrução
Segunda instrução
25 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
26 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Veja que selecionamos o único elemento <li> que não possui a classe
“item_lista”. Esses foram exemplos simples de como é possível
selecionar elementos da árvore DOM utilizando jQuery.
Javascript
27 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Atenção!
Javascript
28 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Vamos ao exemplo!
Javascript
29 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Atividade
Por meio do framework jQuery, é possível manipular os elementos da
árvore DOM e também o seu conteúdo. Nesse contexto, assinale a
afirmativa abaixo que demonstra como remover o conteúdo de todas as
tags <p> de uma página HTML.
A $(‘p’).find(text) = null
30 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
B $(body).text() = ‘’
C $(‘p’).html(‘’)
D $(‘p’).val(‘’)
E $(<‘p’>).html.value = ‘’
31 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Roteiro de prática
Para a realização desta prática, você precisará de algumas ferramentas:
um editor de textos – pode ser o próprio Bloco de Notas do Windows ou
o Nano Editor do Linux, ou então o software (gratuito) Notepad++.
Precisará também de um navegador – Google Chrome, Firefox, MS Edge
etc. Em termos de conceitos, reveja tudo o que aprendemos sobre a
manipulação da árvore DOM utilizando jQuery. Você aplicará alguns dos
recursos dessa biblioteca para realizar o exercício proposto. Agora,
vamos ao roteiro:
32 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
33 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
34 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
35 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
�re/�red
37 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
listener
handler
38 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
como:
• <frame>
• <iframe>
• <img>
• <input type=’image’>
• <link>
• <script>
• <style>
Javascript
39 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Dica
Javascript
40 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
Com esse evento, podemos ter acesso à página assim que a árvore
DOM (tags HTML) estiver disponível, o que ocorre antes de todo o
conteúdo ser carregado. Observe um exemplo simples com o evento em
questão!
Javascript
41 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
42 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
43 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Click On
Por fim, cabe destacar que o evento on não é limitado a lidar apenas
com o evento click. Ele pode ser usado com outros eventos, como o
submit – evento disparado quando um formulário HTML é submetido,
por exemplo.
Javascript
44 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
45 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Método preventdefault()
Embora não seja um evento, é importante falar sobre esse método. A
sua função é, quando chamado, impedir que a ação padrão de um
evento seja disparada. Vamos à prática: copie o código a seguir, salve-o
e abra-o no navegador.
Código ASCII
46 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
47 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Atividade
Em algumas situações, pode ser necessário manipular os elementos ou
o conteúdo da página antes que eles sejam apresentados ao usuário.
Nesse sentido, assinale a alternativa que corresponda ao evento que
deve ser utilizado para manipulação da página HTML antes que seu
conteúdo (imagens, textos etc.) seja totalmente carregado.
A document.load
B $(document.load)()
C window.onload
D $(document).ready()
48 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
E document.load.ready()
49 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Roteiro de prática
Para executar a prática, que será descrita logo a seguir, você precisará
de algumas ferramentas, a saber: um editor de textos – pode ser o
próprio Bloco de Notas do Windows ou o Nano Editor do Linux, ou então
algo um pouco mais avançado, como o software (gratuito) Notepad++.
Precisará também de um navegador – Google Chrome, Firefox, MS Edge
etc.
4. Crie, a seguir, uma tag <div> e insira dentro dela uma tag <p>
contendo um bloco de texto.
5. Após a tag <div> acima ou dentro da tag <head>, crie uma função,
utilizando jQuery, para:
5.1. Adicionar, ao final da tag <div> criada, uma tag <a> que
deverá ter o seguinte conteúdo:
<a id='link_alerta' href='pagina.html'>Exibir alerta</a>
5.2. Utilizando jQuery, faça com que o link acima, ao ser clicado,
no lugar de levar o usuário ir para outra página (definida em
um atribudo “href”), exiba na tela um alerta com o texto “O
novo link, inserido com jQuery, foi clicado”.
50 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
51 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
52 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
alternativa correta.
53 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
div”.
54 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
O que é AJAX?
Esta sigla significa Asynchronous Javascript and XML ou Javascript e
XML Assíncronos. Separando os termos que a compõem, temos:
55 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
A interface jQuery.ajax()
Para realizar requisições assíncronas por meio de jQuery, fazemos uso
da interface jQuery.ajax(). A sintaxe desse método, como visto a seguir,
é composta pela URL para a qual submeteremos a requisição e por um
parâmetro, no formato de objeto, que contém informações adicionais
relacionadas à requisição.
Javascript
56 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
do lado cliente, o qual deverá ser salvo como arquivo html. Leia com
atenção os comentários inseridos no próprio código, no qual há
explicações adicionais. Observe ainda que a url de destino não existe.
Logo, para tornar o exemplo real, substitua a url em questão por uma
real.
Javascript
Como a url utilizada não existe, você poderá ver o erro retornado em
caso de falhas (.fail) no console do inspecionador de elementos.
57 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
58 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
JSON
$.get()
Permite que sejam feitas requisições utilizando o método HTTP GET.
$.post()
Permite requisições HTTP POST.
59 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
1. HTML
2. Javascript
3. JSON
Arquivo JSON
Esse arquivo contém alguns dados – id, fabricante, modelo, ano, cor e
valor - relacionados a veículos. Salve-o como “json_data.json”. Veja!
60 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
Arquivo Javascript
Javascript
61 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
Arquivo HTML
Por último, o arquivo HTML contém o código HTML, alguns códigos CSS
(que também poderiam ficar em um arquivo externo) e incorpora os
scripts JS. Salve esse arquivo com o nome que desejar e com a
extensão “.html”.
Javascript
62 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Seletores jQuery
63 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Validação de dados
$.map
�lter
64 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
:contains e :not(:contains)
Show e hide:
65 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Arquitetura
66 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Atividade
Em relação ao método jQuery $.ajax, utilizado para a realização de
requisições AJAX, assinale a alternativa correta relativa à sua sintaxe e
às suas propriedades.
67 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
página.
68 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Roteiro de prática
Antes de codificar, tome nota das ferramentas que você precisará para a
realização dessa atividade: um editor de textos – pode ser o próprio
Bloco de Notas do Windows ou o Nano Editor do Linux, ou então algo
um pouquinho mais avançado, como o software (gratuito) Notepad++.
Você precisará também de um navegador – Google Chrome, Firefox, MS
Edge etc. Agora, vamos ao roteiro da prática:
69 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
70 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Javascript
71 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
nomeAluno.nome / notaAluno.nota /
D
disciplina.disciplinas[0]
72 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
disciplina.disciplinas[0]
73 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Explore +
A especificação Javascript ES6 apresentou alguns novos recursos
importantes. Embora não possua suporte em todos os navegadores,
como nas versões do Internet Explorer anteriores à Edge, tal
especificação deve ser estudada a fundo. Entre as novidades, destacam-
se as arrow functions. Pesquise na internet como o guia de referência
Javascript da Fundação Mozilla aborda esse assunto, introduzindo uma
série de conceitos e diversos exemplos.
Referências
JQUERY. O que é jQuery. Consultado na internet em: 4 ago. 2020.
74 of 75 11/06/2024, 04:39
Programação cliente com Javascript https://stecine.azureedge.net/repositorio/00212ti/07662/index.html?bra...
Download material
Relatar problema
75 of 75 11/06/2024, 04:39