(Ebook+IFMG) - ProgramadorWebFrontEnd
(Ebook+IFMG) - ProgramadorWebFrontEnd
(Ebook+IFMG) - ProgramadorWebFrontEnd
Front-end
Formação Inicial e
Continuada
+
IFMG
Danielle Costa de Oliveira
Belo Horizonte
Instituto Federal de Minas Gerais
2021
© 2021 by Instituto Federal de Minas Gerais
Todos os direitos autorais reservados. Nenhuma parte desta publicação poderá ser
reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico
ou mecânico. Incluindo fotocópia, gravação ou qualquer outro tipo de sistema de
armazenamento e transmissão de informação, sem prévia autorização por escrito do
Instituto Federal de Minas Gerais.
FICHA CATALOGRÁFICA
Dados Internacionais de Catalogação na Publicação (CIP)
006.7023
2021
Direitos exclusivos cedidos à
Instituto Federal de Minas Gerais
Avenida Mário Werneck, 2590,
CEP: 30575-180, Buritis, Belo Horizonte – MG,
Telefone: (31) 2513-5157
Sobre o material
Formulário de
Sugestões
Este curso está dividido em três semanas, cujos objetivos de cada uma são
apresentados, sucintamente, a seguir.
Os ícones são elementos gráficos para facilitar os estudos, fique atento quando
eles aparecem no texto. Veja aqui o seu significado:
Objetivos
Nesta primeira semana, você conhecerá sobre o universo do
desenvolvimento Web começando pelo entendimento da
Internet e seu funcionamento. Você irá conhecer como é
possível publicar um site na Internet e sobre as aplicações
front-end e back-end. Conhecerá sobre como os sites são
desenhados para facilitar a navegabilidade e experiência do
usuário e sobre o problema de compatibilidade dos
navegadores para exibição de páginas. Conhecerá também
como obter e instalar a ferramenta de desenvolvimento que
será utilizada no curso, o Notepad++.
15
Plataforma +IFMG
A esta altura, você deve estar se perguntando, como funciona a Internet? A Internet
funciona por meio de uma rede de roteamento de pacotes de acordo com o Protocolo da
Internet (IP), o Protocolo de Controle de Transporte (TCP) e outros protocolos.
Um protocolo é um conjunto de regras que especificam como os computadores
devem se comunicar entre si em uma rede. Por exemplo, o protocolo de controle de
transporte tem uma regra que, se um computador enviar dados para outro computador, o
computador de destino deve informar o computador de origem se algum dado estiver
faltando para que o computador de origem possa reenviá-lo. Ou o protocolo da Internet, que
especifica como os computadores devem rotear as informações para outros computadores
anexando endereços aos dados que envia. Esses endereços são chamados de endereços
IP e existem dois padrões.
O primeiro padrão de endereço é chamado IPv4 e se parece com 212.78.1.25. Mas
como o IPv4 oferece suporte a apenas 2³² (cerca de 4 bilhões) de endereços possíveis, a
Força-Tarefa da Internet propôs um novo padrão de endereço chamado IPv6, que se parece
com 3ffe: 1893: 3452: 4: 345: f345: f345: 42fc. O IPv6 suporta 2¹²⁸ endereços possíveis,
permitindo endereçar muito mais dispositivos em rede.
Quando você visita um site digitando um nome de domínio legível como
www.google.com. Os computadores resolvem os endereços IP por meio do Sistema de
Nomes de Domínio (DNS), um banco de dados descentralizado de mapeamentos de nomes
de domínio para endereços IP como mostra a Figura 1.
.
Atenção: O domínio é um nome que serve para localizar
e identificar conjuntos de computadores na Internet. O
nome de domínio foi concebido com o objetivo de facilitar
a memorização dos endereços de computadores na
Internet. Sem ele, teríamos que memorizar os endereços
IP.
16
Plataforma +IFMG
Para resolver um endereço IP, o computador, primeiro, verifica seu cache DNS local,
que armazena o endereço IP de sites visitados recentemente. Se não conseguir encontrar o
endereço IP lá ou se o registro do endereço IP tiver expirado, ele consulta os servidores
DNS do ISP (provedor de serviços de Internet) que são dedicados a resolver endereços IP.
Se os servidores DNS do ISP não conseguem encontrar o endereço IP, eles consultam os
servidores de nomes raiz, que podem resolver todos os nomes de domínio de um
determinado domínio de nível superior. Domínios de nível superior são os nomes à direita
do ponto em um domínio, .com .net .org são alguns exemplos de domínios de nível superior
como mostrado na Figura 2.
17
Plataforma +IFMG
É importante perceber que a Internet é uma rede global de cabos físicos, que podem
incluir fios telefônicos de cobre, cabos de TV e cabos de fibra óptica. Mesmo as conexões
sem fio como Wi-Fi e 3G / 4G contam com esses cabos físicos para acessar a Internet.
Quando você visita um site, seu computador envia uma solicitação por esses fios a
um servidor. Um servidor é onde os sites são armazenados e funciona de maneira muito
semelhante ao disco rígido do seu computador. Assim que a solicitação chega, o servidor
recupera o site e envia os dados corretos de volta ao seu computador. Tudo isso acontece
em apenas alguns segundos.
Uma das melhores características da Internet é a capacidade de se comunicar quase
que instantaneamente com qualquer pessoa no mundo. O e-mail é uma das formas mais
antigas e universais de se comunicar e compartilhar informações na Internet, e bilhões de
pessoas o usam. A mídia social permite que as pessoas se conectem de várias maneiras e
criem comunidades online.
Existem muitas outras coisas que você pode fazer na Internet. Existem milhares de
maneiras de acompanhar as notícias ou comprar qualquer coisa online. Você pode pagar
suas contas, gerenciar suas contas bancárias, conhecer novas pessoas, assistir TV ou
aprender novas habilidades. Você pode aprender ou fazer quase tudo online.
Você pode adquirir acesso doméstico à Internet para enviar e receber e-mails,
navegar na Web, transmitir vídeos e muito mais. Você pode até querer configurar uma rede
sem fio doméstica, comumente conhecida como Wi-Fi, para que possa conectar vários
dispositivos à Internet ao mesmo tempo.
O tipo de serviço de Internet que você escolher dependerá muito de quais provedores
de serviços de Internet (ISPs) atendem sua área, junto com os tipos de serviço que oferecem.
Aqui estão alguns tipos comuns de serviço de Internet.
Dial-up: este é geralmente o tipo mais lento de conexão com a Internet e você
provavelmente deve evitá-lo, a menos que seja o único serviço disponível em sua área. A
Internet dial-up usa sua linha telefônica, portanto, a menos que você tenha várias linhas
telefônicas, não será possível usar seu telefone fixo e a Internet ao mesmo tempo.
DSL: o serviço DSL usa uma conexão de banda larga, o que o torna muito mais
rápido do que o dial-up. O DSL se conecta à Internet por meio de uma linha telefônica, mas
não exige que você tenha um telefone fixo em casa. E, ao contrário do dial-up, você poderá
usar a Internet e sua linha telefônica ao mesmo tempo.
Cabo: o serviço de cabo se conecta à Internet via TV a cabo, embora você não
precise necessariamente ter uma TV a cabo para obtê-lo. Ele usa uma conexão de banda
larga e pode ser mais rápido do que o serviço dial-up e DSL; no entanto, só está disponível
onde a TV a cabo está disponível.
Satélite: uma conexão via satélite usa banda larga, mas não requer cabo ou linhas
telefônicas; ele se conecta à Internet por meio de satélites que orbitam a Terra. Como
resultado, ele pode ser usado em quase qualquer lugar do mundo, mas a conexão pode ser
afetada por padrões climáticos. As conexões via satélite também costumam ser mais lentas
do que DSL ou cabo.
18
Plataforma +IFMG
19
Plataforma +IFMG
Alguns provedores também oferecem o serviço de domínio. Cada conta criada nos
provedores de hospedagem terá direito a registrar um domínio, porém, existem alguns
provedores que aceitam mais de um domínio por hospedagem. A Figura 3 a seguir ilustra
os passos para uma publicação e o acesso ao um website.
Acessar o site
Hospedar o site
Registrar o Contratar o pelo navegador
no servidor do
domínio provedor usando o
provedor
domínio
20
Plataforma +IFMG
O desenvolvedor front-end é responsável por criar os mecanismos que farão com que
os usuários interajam com a aplicação através de uma interface. Por esse motivo, é
importante que quem irá desenvolver a aplicação também se preocupe com a experiência
do usuário.
O foco do desenvolvimento cliente-side está em 3 camadas: a de Informação (HTML-
linguagem de marcação), a de Formatação (CSS- linguagem de estilo) e de comportamento
(JavaScript - linguagem de script/programação).
Já o desenvolvedor back-end, como o nome sugere, trabalha na parte de “trás” da
aplicação. Ele é o responsável, em termos gerais, pela implementação da regra de negócio.
Em uma aplicação web, este desenvolvedor não toca na parte visual da aplicação.
No entanto, por lidar com a regra de negócio, às vezes um programador de sistemas, como
de aplicações comerciais e até científicas, pode ser chamado de desenvolvedor back-end.
E, geralmente, nessas aplicações, esse desenvolvedor trabalha um pouco com a parte
visual.
Para desenvolvimentos back-end existem diversas linguagens, como Go, Clojure, C#,
PHP, Java, Python, etc. E ainda banco de dados, como por exemplo MySQL, SQL Server,
PostgreSQL, entre outros, que, normalmente, é escolhido com base naquele que possuir
mais recursos disponíveis para implementar o que será utilizado na aplicação.
Este curso, tem como foco mostrar as linguagens para desenvolvimento de front-end.
21
Plataforma +IFMG
22
Plataforma +IFMG
serifa. Uma fonte com serifa parece mais formal e a versão sem serifa parece mais leve e
solta. De qualquer forma, a legibilidade é a característica mais importante na escolha das
fontes. Concentre-se em garantir que tudo esteja legível e deixar o ajuste fino dos detalhes
mais tarde.
Web designers têm o trabalho muito importante de conceituar e criar um visual para
o site. Eles precisam pensar nos recursos visuais do site e também ter sempre em mente a
funcionalidade e a experiência do usuário. Na seção a seguir, você irá conhecer sobre como
a usabilidade é utilizada para garantir a boa experiência do usuário.
23
Plataforma +IFMG
É possível que um mesmo site tenha uma aparência diferente quando visualizado em
dispositivos diferentes. Em geral alguns recursos não funcionam direito, ou então alguns
trechos deixam de ser exibidos. Em certos casos, o problema não está no site, mas sim, no
navegador utilizado para acessá-lo.
Alguns dos navegadores para desktop disponíveis no mercado usam motores de
renderização diferentes e que funcionam de maneiras diferentes. A função de um motor de
renderização ou motor de layout, é exibir os conteúdos solicitados na tela do navegador.
Isso significa que a experiência de cada usuário pode mudar de acordo com o navegador e
versão que está usando.
As especificações para as linguagens HTML, CSS e outras são enormes. Novos
elementos vão sendo adicionados, enquanto os mais velhos, já obsoletos, são removidos.
Todas essas alterações podem fazer com que os motores de renderização levem um tempo
para refletir as atualizações.
24
Plataforma +IFMG
Pode ser que o usuário não utilize um navegador que suporta por exemplo uma
versão mais atual de HTML ou CSS. Nesse caso, é possível redirecioná-lo para uma versão
do site mais simples, ou ainda, mostrar-lhe uma mensagem alertando sobre a importância
da atualização do navegador. Para isso, algumas técnicas de detecção para conferir se o
navegador suporta ou não a versão do HTML deve ser implementada.
Atualmente, existem três principais motores de renderização utilizados pelos
navegadores mais populares do mercado. São eles: Blink (Google Chrome), Gecko (Mozilla
Firefox), EdgeHTML (Microsoft).
Para que você possa desenvolver os códigos de exemplo deste curso, será
necessário a utilização de uma ferramenta de desenvolvimento de código-fonte para que os
códigos possam ser criados.
O Notepad++ é um editor de código-fonte gratuito e está disponível em vários idiomas.
Ele executa no ambiente Windows e seu uso é regido pela GNU General Public License. É
baseado no componente de edição Scintilla, é escrito em C ++ e usa Win32 API e STL puras,
o que garante maior velocidade de execução e menor tamanho do programa.
Suas funcionalidades incluem sintaxe para diferentes linguagens de programação
como C, Java, XML, HTML, PHP, JavaScrip, ASP, SQL, CSS, Pascal, Perl e Python e outras.
Além disso, você pode personalizar o estilo para cada linguagem suportada, escolhendo a
cor, tipo de letra, tamanho de fonte e estilo para as palavras-chave.
O programa sugere opções de preenchimento automático e permite que possa
comprimir linhas de código entre parênteses. Também está entre as opções de
funcionalidades visualizar e trabalhar com vários documentos ao mesmo tempo usando
diferentes guias. A interface do editor Notepad++ pode ser vista na Figura 3.
Como fazer download e instalar o Notepad++?
25
Plataforma +IFMG
3. Abra a pasta com o pacote baixado em seu computador. Clique duas vezes no
arquivo .exe para executar o instalador.
Isso é tudo! Agora você está pronto para usar o software Notepad ++ para editar
seus códigos.
26
Plataforma +IFMG
Concluída esta semana de estudos, é hora de uma pausa para a reflexão. Faça a
leitura (ou releitura) de tudo que lhe foi sugerido, assista aos vídeos propostos e analise
todas essas informações com base na sua experiência profissional. Esse intervalo é
importante para amadurecer as novas concepções que esta etapa lhe apresentou.
Encontramo-nos na próxima semana.
Bons estudos!
27
Plataforma +IFMG
28
Semana 2 – As linguagens HTML e CSS Plataforma +IFMG
Objetivos
Nesta segunda semana, você irá conhecer a linguagem de
marcação HTML e como ela pode ser usada para criar páginas
contendo textos, listas, imagens, hyperlinks, tabelas e
formulários. Irá conhecer, também, a linguagem de definição
de estilos CSS para aplicação de diferentes tipos de estilos as
páginas.
29
Plataforma +IFMG
Como as páginas são constituídas de texto puro, elas podem ser criadas usando um
simples editor de texto. O uso de editores específicos para HTML, permite que um autor crie
uma página sem conhecer os códigos da linguagem. São exemplos de editores HTML:
Adobe Dreamweaver, Edit Plus, NotePad++, SeaMonkey, Microsoft Expression Web,
Netbeans, entre outros. Além de Editores gráficos, existem também programas assistentes
que transformam documentos em páginas HTML- o Word é um exemplo de programa
assistente.
30
Plataforma +IFMG
O DOCTYPE deve ser sempre a primeira linha de código do documento. Ele não é
uma tag do HTML, mas uma instrução para que o navegador saiba qual versão de código a
marcação deve ser renderizada.
<HTML> e </HTML> - são tags que dizem ao interpretador que o documento é do tipo
HTML, ou seja, uma página web. Toda página HTML deve começar com essa declaração.
Possui o atributo “lang” que define a linguagem principal da página.
Cabeçalho <HEAD> e </HEAD> - especifica o título da página <TITLE> e </TITLE>
que será apresentado na barra superior do navegador e metadados <META>. A tag <META>
fornece metadados, ou seja, informações sobre o conteúdo do documento HTML. Os
elementos meta são normalmente utilizados para especificar a descrição da página
(description), palavras-chave (keywords) ou autor (author) do documento. Eles não são
visualizados no navegador, mas são utilizados pelos motores de busca (palavras-chave),
nos resultados de pesquisas
Corpo <BODY> e </BODY> - marcação que especifica: cores de fundo, texto, links
e o início do documento. Tudo que estiver entre essas tags é interpretado como “corpo” do
documento e será exibido pelo navegador
31
Plataforma +IFMG
Comentários - os comentários não são exibidos pelo navegador, mas podem ajudar
a documentar o HTML. Há um ponto de exclamação na tag de abertura <!--, mas não na
marca de fechamento -->.
A maioria dos navegadores atuais irá exibir o HTML corretamente, mesmo quando
esquecer a marca de fim </>, no entanto, sugere-se sempre adicioná-la para evitar
resultados inesperados.
Uma boa prática, sempre recomendada, ligada à limpeza e facilidade de leitura do
código, é o uso correto de recuos, ou indentação. Em um código HTML, costuma-se alinhar
elementos "irmãos" na mesma margem e adicionar alguns espaços ou uma tabulação para
elementos "filhos".
Um código HTML qualquer de uma página, pode ser visualizado por meio do
navegador (Ctrl+U). A Figura 6 exibe, como exemplo, o código da página do IFMG.
O texto pode ser formatado com tags de itálico, negrito, sobrescrito, subscrito e fonte.
Para todas é necessário delimitar o início e o fim do texto a ser formatado. Fonte e Cor: A
tag <font> especifica o tipo de letra, a cor do texto e o tamanho da fonte. Exemplo: <font
face=”verdana”> Texto </font>
32
Plataforma +IFMG
As cores podem ser definidas pelo seu nome RGB (Red, Green, Blue) ou pelo código
Hexadecimal correspondente, tomados em pares RRGGBB, onde cada par está no intervalo
de intensidade 00-FF (cada caractere do par está no intervalo de 0 a 15 na base decimal).
Por exemplo, 000000 é totalmente preto (intensidade zero para as três cores), FF0000 é
vermelho, 00FF00 é verde, 0000FF é azul e FFFFFF é branco. A Figura 8 exibe algumas
possibilidades de cores.
•Cabeçalhos:
<H1> Tamanho H1</H1>
33
Plataforma +IFMG
--Texto sobrescrito
-- Texto subscrito
Na linguagem HTML toda a formatação do texto é obtida com tags apropriadas. As
marcações inseridas pelos editores de texto, tais como quebras de linha, tabulações e
parágrafos são desprezadas pelo navegador.
34
Plataforma +IFMG
35
Plataforma +IFMG
36
Plataforma +IFMG
2.3 Listas
As Listas são utilizadas para organizar um texto em uma relação de itens e subitens,
ordenados ou não. São tipos de listas: listas ordenadas, listas não-ordenadas e listas de
definição.
Atenção: Nos exemplos dos códigos de listas e imagens
mostrados a seguir foi omitida a estrutura básica da
página HTML. Caso deseje testá-los, coloque-os entre
das tags <body></body>.
Listas Ordenadas
<ol> - inicia uma lista.
type - define o tipo de numeração da lista que pode ser:
A - Letras maiúsculas;
a - Letras minúsculas;
I - Algarismos romanos;
1 - Números arábicos;
</ol> - finaliza a lista.
<li> - determina um item da lista.
Código html <ol type=”1”> No browser 1. Primeiro
<li>Primeiro 2. Segundo
<li>Segundo 3. Terceiro
<li>Terceiro
</ol>
37
Plataforma +IFMG
Listas de Definição
<dl> marca o início da lista
<dt>indica termo a ser definido
<dd>indica a definição ou descrição do termo acima
Código <dl> No LW
html <dt> LW browser Linguagem
<dd>Linguagem Web Web
<dt>ED ED
<dd>Estrutura de Dados Estrutura
</dl> de Dados
As listas também podem ser exibidas de forma aninhada, isto é, listas dentro de outras
listas:
38
Plataforma +IFMG
2.4 Hyperlinks
A ideia central dos hyperlinks é proporcionar liberdade ao usuário para navegar entre
diferentes documentos, clicando em termos ou frases que levem a outros documentos.
Para fazer “links” para outros documentos (páginas, imagens, sons etc.), através da
tag <A> </A>, chamadas de âncoras (anchor tag) é preciso informar o HREF (endereço de
onde está a página que será acessada) e o TEXTO/IMAGEM que indicará o link.
< A HREF=http://endereço/documento> texto/imagem </A>
A referência a outro documento pode ser feita por:
▪ Caminho Absoluto: corresponde ao endereço completo do documento e
utilizado quando os documentos estão em servidores ou pastas diferentes.
<A REF=http://máquina/diretório/pagina.html>texto/imagem </A>
▪ Caminho Relativo: quando o documento a ser acessado está no mesmo
servidor ou pasta que a página atual.
<A HREF=../outra-página.html > texto </A>
<A HREF=../outra-página.html><img src=”imagem .jpg”> </A>
É possível criar links internos, dentro da própria página - por exemplo, uma tabela de
conteúdo ou índice com links para cada um dos capítulos em uma página. Para tanto, basta
usar o atributo id e o símbolo "#". O símbolo "#" informa ao navegador para ficar na mesma
página que está. O "#" deve ser seguido pelo valor atribuído a id para onde o link vai.
É possível também definir um link “mailto” que permite que os usuários enviem
mensagens para um endereço de e-mail definido, clicando no hyperlink conforme exemplo
abaixo.
39
Plataforma +IFMG
2.5 Imagens
A tag <IMG> inclui uma imagem dentro de um documento HTML. Elas podem ser
usadas em conjunto com alguns atributos tais como:
40
Plataforma +IFMG
2.6 Tabelas
Exemplo:
…
<body>
<table border=4 height=300 cellspacing=4>
<th align=left>Coluna1</th><th align=left>Coluna2</th>
<tr><td width=150>linha1, coluna1</td><td>linha1, coluna2</td></tr>
41
Plataforma +IFMG
Exemplo:
…
<body>
<table border=4 bgcolor=blue>
<th colspan=2>Colunas 1 e 2</th>
<tr><td>linha1, coluna 1</td><td> linha 1, coluna 2</td></tr>
<tr><td>linha 2, coluna 1</td><td>linha 2, coluna 2</td></tr>
<th rowspan=3>3 linhas</th>
<td>uma linha</td>
<tr><td>duas linhas</td></tr>
<tr><td>três linhas</td></tr>
</table>
</body>
…
Colunas 1 e 2
linha 1, coluna 1 linha 1, coluna 2
linha 2, coluna 1 linha 2, coluna 2
uma linha
3 linhas duas linhas
três linhas
Embora as tabelas sejam usadas para apresentar dados tabulares, elas também
podem ser utilizadas para criar um layout de página. Nesse caso, cada célula da tabela é
traduzida em um espaço na página como mostrado nas Figuras 12 e 13.
42
Plataforma +IFMG
43
Plataforma +IFMG
2.7 Formulários
Os formulários em uma página Web permitem coletar informações dos usuários que
visitam uma página. Usando campos de entrada de textos, menus e botões é possível colher
dados para diversos fins e, também, definir que ação será tomada assim que o formulário
for preenchido e enviado.
É preciso saber que o HTML oferece apenas os meios para receber as informações
do usuário e enviá-las a um servidor ou endereço de e-mail. O HTML não provê meios para
tratar ou armazenar essas informações. Para manipular e validar os dados inseridos pelo
usuário, antes de enviá-los ao servidor, é preciso ainda de uma linguagem de script cliente-
side (do lado do cliente) como o JavaScript por exemplo.
Definição do Formulário
...
<BODY>
<FORM>
<LABEL>Nome:</LABEL>
<INPUT TYPE=TEXT NAME="Nome" SIZE=30
VALUE="Danielle Costa">
<LABEL> Senha:</LABEL>
<INPUT TYPE=PASSWORD
NAME="Senha" SIZE=30 MAXLENGTH="8">
</FORM>
</BODY>
...
Figura 14 – Campos do tipo texto
Fonte: Elaborada pela autora
44
Plataforma +IFMG
Botões de Ação
...
<FORM>
<INPUT TYPE=SUBMIT VALUE="Enviar">
<INPUT TYPE=RESET VALUE="Cancelar">
</FORM>
...
45
Plataforma +IFMG
Botões de Seleção
...
<FORM>
<SELECT NAME="plataforma" SIZE=3>
<OPTION>PC
<OPTION>Workstation
<OPTION>Alpha
<OPTION>Mainframe IBM
</SELECT>
</FORM>
...
Figura 18 – Botões de seleção
Fonte: Elaborada pela autora
46
Plataforma +IFMG
Área de Texto
A tag TEXTAREA define uma área para entrada de textos. Os atributos COLS
(colunas) e ROWS (linhas) definem o tamanho da janela.
<FORM>
<TEXTAREA COLS=60 ROWS=10 NAME="texto">Área para entrada de texto
</TEXTAREA></FORM>
47
Plataforma +IFMG
Criando seções
Uma forma elegante de apresentar os formulários na mesma página é separando-os
por seção. A tag <fieldset> é utilizada para criar uma seção, separando um conjunto de
elementos do formulário com uma linha ao redor. Já a tag <legend> é utilizada para criar a
legenda de cada seção, neste caso, o texto que aparece na parte superior de cada conjunto.
Exemplo
…
<fieldset>
<legend>Dados pessoais</legend>
<label>Nome:<input type="text" name="nome">
</label><br>
<label>Idade:<input type="text" name="idade">
</label><br>
</fieldset>
<fieldset>
<legend>Dados profissionais</legend>
<label>Escolaridade:
48
Plataforma +IFMG
<select name="escolaridade">
<option value="em"> Ensino Médio </option>
<option value="nt"> Nível Técnico </option>
<option value="ns"> Nível Superior</option>
</select>
</label><br>
<label>Área de atuação
<input type="radio" name="cargo" value="1" checked> Gerência
<input type="radio" name="cargo" value="2"> Financeiro
<input type="radio" name="cargo" value="3" > Recepção
</label>
</fieldset>
...
Resultado no browser:
O atributo METHOD define o método HTTP para enviar os dados a URL, onde está o
programa que realizará o processamento, especificado pelo atributo ACTION. O exemplo a
seguir mostra os dados recolhidos pelo formulário sendo enviados para um arquivo
“teste.php”.
Exemplo
<html>
<head> <title> Usando tipo oculto </title></head>
<body>
<form method=post action=teste.php>
<input type=submit name=”enviar” value="enviar
informações">
</form>
</body>
</html>
49
Plataforma +IFMG
Iframe
A tag <iframe> ou inline frame é usada para especificar um quadro embutido, ou,
como a especificação HTML5 se refere a ele, um “contexto de navegação aninhada”. Um
quadro embutido permite que se insira outro documento dentro do documento HTML atual.
A tag é frequentemente utilizada em publicidade on-line, onde o conteúdo do <iframe>
é um anúncio de uma parte externa. São tipicamente criados usando um segundo
documento HTML. Esse segundo documento contém o conteúdo dentro do quadro
embutido.
O HTML 5 não suporta atributos como frameborder, scrolling, marginwidth e
marginheight (que foram suportados em HTML4). No entanto, introduziu a “seamless”
atributo que permite que o quadro embutido apareça como se ele estivesse sendo
processado como parte do documento que contém. Por exemplo, bordas e barras de
rolagem não aparecerão.
Outra característica da tag é que ela pode ser manipulada através de um script. O
código do <iframe> é bem simples e possui alguns atributos que já conhecemos em outras
tags, como <img> e <frame>.
Exemplo
<html>
<head> <title >Exemplo de iframes </title> </head>
<body>
<h1>Exemplo de iframes </h1>
<iframe height="250" width="250" src="http://www.w3c.br/">
</iframe>
<! O srcdoc especifica o que será exibido dentro do quadro -->
<iframe srcdoc="<i>Olá</i>"> </iframe>
</body>
</html>
Elementos Div
A tag <DIV> nada mais é do que uma unidade de recipiente (container) que encapsula
outros elementos da página e divide o documento HTML em seções.
Os desenvolvedores da Web usam elementos <DIV> para agrupar elementos HTML
e aplicar estilos CSS a elementos de uma só vez. Por exemplo, envolvendo um conjunto de
elementos de parágrafo em um elemento <DIV>, o desenvolvedor pode tirar proveito de
estilos CSS e aplicar uma fonte de todos os parágrafos de uma só vez, aplicando um estilo
de fonte para a marca <DIV> em vez de codificar o mesmo estilo de cada elemento do
parágrafo.
Existem muitos layouts baseados em tags "div", justamente porque é possível atribuir-
lhes altura/largura e distância das laterais da janela do navegador, atribuir opções de fundo
ou cor de fundo, e colocar o conteúdo lá dentro e estará tudo pronto. No entanto, embora a
50
Plataforma +IFMG
utilização da <DIV> permita uma facilidade de aplicação de estilos, não são todos os
navegadores que interpretam bem esses códigos todos.
Mais adiante, veremos sobre o CSS onde o uso da tag <DIV> será mais ilustrada.
Exemplo
<html>
<head><title> Exemplo de tag div</title></head>
<body>
<div id="myDiv" name="myDiv" title="Exemplo Div Elemento" style="font-family: Helvetica;
font-size: 12pt; border: 1px solid black;">
<div id="subDiv1" name="subDiv1" title="Subdivisão Div" style="color: #FF0000; border: 1px
dotted black;">
<h5>Seção 1</h5>
<p>O site é dividido em seções. </p>
<p>Cada seção tem seu significado e carrega informações de
diversos assuntos</p>
</div> <br>
<div id="subDiv2" name="subDiv2" title="Subdivisão Div"
style="color: #FF00FF; border: 1px dashed black;">
<h5>Seção 2</h5>
<p>Este parágrafo será seu parágrafo de conteúdo.</p>
<p>Este outro parágrafo será o de artigos.</p>
</div>
</div>
</body>
</html>
Toda página utiliza certos elementos de desenho para formatar seções de texto a fim
de manter a mesma aparência e seguir um padrão. Por exemplo, um elemento de desenho
Heading1 (H1) é geralmente alguma fonte grande que identifica todas as principais divisões
de tópicos de um capítulo ou artigo na página. Um elemento de desenho Heading2 (H2)
identifica todos os títulos dos subtópicos. A HTML inclui uma tag para praticamente todos os
elementos de desenho comumente utilizados.
51
Plataforma +IFMG
No passado, a tag <H1> em quase todos os websites parecia a mesma, o texto preto
era consideravelmente maior que o corpo do texto normal. Se preferisse criar seus próprios
títulos diferenciados, era preciso formatar cada tag de título individualmente, utilizando tags
<FONT> ou similares.
A linguagem CSS (Cascading Style Sheets) ou folhas de estilo em cascata mudam
tudo isso. Com uma folha de estilo, é possível fazer uma "declaração global", como "quero
que todos os meus títulos <H1> sejam verdes". É preciso declarar isso somente uma vez e
cada título <H1> do site será verde. Se depois decidir que azul é uma cor melhor, não é
preciso voltar e alterar cada tag <H1> para a cor azul. Em vez disso, basta alterar o estilo -
a regra - para "quero que todos os meus títulos <H1> sejam azuis".
Assim, com CSS é possível:
• Economizar o tempo na formatação das páginas;
• Diminuir o tamanho do código;
• Diminuir o tempo de carregamento do website- diminuir o tamanho e o número
das requisições pode reduzir significantemente o tempo de carregamento;
• Mais facilidade de manter e fazer alterações na página;
• Mais controle no layout da página.
Atualmente, a especificação das folhas de estilo em cascata se encontra na versão
3. A principal função da CSS3 é apresentar transições e efeitos para criar animações de
vários tipos. No entanto, há navegadores no mercado que ainda não aceitam todas as novas
propriedades incorporadas.
Utilizar um framework pode ser muito útil. Framework é uma expressão em inglês que
não tem uma tradução em português. É mais fácil entendê-la pelo real sentido da palavra:
aumentar a produção diminuindo esforços.
Assim, para utilizar qualquer framework CSS é preciso, no mínimo, conhecer a
linguagem HTML e CSS a ponto de estilizar elementos. Bootstrap, UIKit, W3.Css e Sass são
exemplos utilizados no mercado para desenvolvimento com CSS em aplicações tanto para
dispositivos móveis como para computadores.
52
Plataforma +IFMG
Exemplo:
Todos os títulos de nível 2 (tags <H2>) devem ter tamanho de 24 pontos e cor azul.
H2 {font-size: 24pt; color: blue}
Seletores
Existem diversas maneiras de selecionar o conteúdo que deve receber alguma
informação de estilo, vejamos as mais comuns:
Seletor universal
*{atributo1: valor; atributo2: valor ...}
*{color:#00FF00}
/* Faz com que o conteúdo dos elementos fique coloridos */
53
Plataforma +IFMG
Seletor HTML: Id
#NomeDoIdentificador {atributo1: valor; atributo2: valor ...}
Exemplo:
<html>
<head><title></title>
<style type=”text/css”>
#cabeçalho{font-style:italic}
</style>
</head>
<body><p id=”cabeçalho”>Bem vindo a página!</p>
<p>Texto normal</p>
</body></html>
54
Plataforma +IFMG
Arquivo estilo.html
<html> <title>Exemplo Estilo Externo</title>
<head>
<LINK REL="STYLESHEET" HREF="meu_estilo.css" TYPE="text/css">
</head>
<body><H1>Texto com a primeira formatação em css
<H2>Texto com a segunda formatação em css
</body>
</html>
Sempre que quiser utilizar esses estilos em uma nova página, basta colocar uma tag
<LINK...> no cabeçalho que referência meu_estilo.css:
<LINK REL="STYLESHEET" HREF="meu_estilo.css" TYPE="text/css">
Deve-se ter o cuidado de inseri-la entre as tags <HEAD>...</HEAD> e colocar a
localização correta do seu arquivo e seu nome.
55
Plataforma +IFMG
<html>
<head><title>Exemplo Estilo Incorporado</title>
<STYLE TYPE="text/css">
P {background-color: #FFFFFF;
font-family:'Comic Sans MS';
font-size: 14pt}
</STYLE>
</head><body></body>
</html>
3) Inline - Inline significa que as regras de CSS são especificadas dentro da tag da
HTML.
Os estilos inline afetam somente a tag atual e não outras tags na página e tampouco
outros documentos. A sintaxe para definir um estilo inline é a seguinte:
<A STYLE="color: green; text-decoration: none" HREF="http://www.seusite.com">
Note que em vez das tags <STYLE>...</STYLE>, apenas utiliza-se um atributo
STYLE, dentro da tag, para definir o estilo. E, em vez de colocar as regras de CSS entre
colchetes, as coloca entre aspas, separando-as com ponto-e-vírgula.
Mas então qual estilo utilizar?
As duas primeiras opções, apesar de reduzirem o número de requisições, aumentam
o tamanho do documento HTML. Elas podem ser interessantes quando se tem arquivos
pequenos e o custo de uma requisição é maior. Nesse caso, é necessário realizar testes
para avaliar se há realmente ganho. Deve ser avaliado, também, o objetivo da página e sua
audiência, se o esperado é que usuários visitem essa página somente uma única vez, como
por exemplo, uma campanha temporária onde não se espera futuras visitas, utilizar o estilo
inline/incorporado ajudará na redução do número de requisições.
Já o estilo externo, não só melhora a organização do código, como também possibilita
que eles sejam armazenados no cache do navegador. Esta opção deve ser utilizada para a
maior parte dos casos, quando lidamos com arquivos grandes e muitas páginas.
56
Plataforma +IFMG
Estilos conflitantes
As definições de estilo aplicáveis a um documento podem se originar de três lugares
diferentes:
• Desenvolvedor: o desenvolvedor define as regras de apresentação do documento
• Usuário: caso o browser permita, o leitor pode definir suas regras de apresentação.
• Browser: o próprio browser possui um conjunto de regras que são utilizadas quando
nenhum outro estilo for definido. São as regras “default” do browser.
Dessa maneira, uma parte do documento pode receber estilos conflitantes de
diversas origens. O browser gera um único “CSS virtual” utilizando as regras de prevalência
mostradas na tabela 2 a seguir:
Tabela 1 - Regras de prevalência
Menor importância Maior importância
Origem Estilo default do Estilo do usuário Estilo do
browser desenvolvedor
Métodos Externo Incorporado Inline
Elementos seletor class id
Fonte: Elaborada pela autora
57
Plataforma +IFMG
O modelo de caixa em CSS, descreve as caixas que estão sendo geradas pelos
elementos HTML. O modelo de caixa contém, ainda, opções detalhadas de ajuste de
margens, bordas, padding e conteúdo para cada elemento. O diagrama da Figura 26 mostra
como o modelo de caixa é construído:
58
Plataforma +IFMG
A ilustração mostra que cada um dos elementos é cercado por caixas que podem ser
ajustadas com o CSS. O exemplo a seguir contém dois elementos: <h1> e <p>. O modelo
de caixa para os dois elementos pode ser ilustrado como se segue:
<h1> Artigo 1: </h1>
<p> Todos os seres humanos nascem livres e iguais em dignidade e direitos. São
dotados de razão e consciência e devem agir em relação uns aos outros com espírito de
fraternidade. </p>
Resultado no browser:
59
Plataforma +IFMG
Bordas CSS
As propriedades de borda lhe permitem especificar o estilo, a cor, e a largura de um
elemento “border”. Em HTML usam-se tabelas para criar bordas em torno de um texto, mas
com as propriedades de borda em CSS podem-se criar bordas com belos efeitos, e elas
podem ser aplicadas a qualquer elemento.
Exemplo: Cor das bordas
<html>
<head><title> Cor das bordas </title>
<style type="text/css">
p.um { border-style: solid;
border-color: #0000ff;
}
p.dois {border-style: solid;
border-color: #ff0000 #0000ff;
}
p.tres { border-style: solid;
border-color: #ff0000 #00ff00 #0000ff;
}
p.quatro {border-style: solid;
rgb(250,0,255);
}
</style>
</head>
<body>
<p class="um"><b>Observação:</b> A propriedade "border-color" não é reconhecida
no Internet Explorer se for usada sozinha. Use a propriedade "border-style" para
configurar as bordas.</p>
<p class="dois">Algum texto</p>
<p class="tres"><b>Observação:</b> Alguns navegadores não suportam a
propriedade "border-color". Use a propriedade "border" para configurar as bordas e
as cores. </p>
<p class="quatro">Algum texto</p>
</body>
</html>
60
Plataforma +IFMG
61
Plataforma +IFMG
Resultado no browser:
Contorno CSS
Um contorno é uma linha em torno de um elemento - fora da borda. Isso pode ser
usado para fazer um elemento se destacar. O atributo outline especifica o estilo, cor e largura
de um contorno.
62
Plataforma +IFMG
Resultado no browser:
Margem em CSS
As propriedades de margem definem o espaço em volta dos elementos. É possível
usar valores negativos para sobrepor o conteúdo. As margens superior, direita, inferior e
esquerda podem ser mudadas, independentemente, usando propriedades separadas.
63
Plataforma +IFMG
Enchimento em CSS
As propriedades de enchimento definem o espaço entre a borda do elemento e o
conteúdo. Valores negativos não são permitidos. O enchimento superior, direito, inferior e
64
Plataforma +IFMG
Links
Com CSS, os links podem ser decorados de formas diferentes de acordo com seu
estado:
• a - um link não visitado
• a:visited - um link que o usuário visitou
• a:hover - um link que o usuário passa o mouse sobre ele
• a:active - um link no momento em que for clicado
Exemplo:
<html>
<head><title>Formas dos links</title>
<style type="text/css">
a { background-color: yellow;
text-decoration: underline;
}
a:visited { background-color: blue; }
65
Plataforma +IFMG
Dropdown
É a criação de uma caixa suspensa que aparece quando o usuário move o mouse
sobre um elemento.
Exemplo:
<style>
/* Estilo do botão */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* O container <div> precisa posicionar o conteúdo */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown conteudo (Hidden por default) */
.dropdown-conteudo {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
}
/* Links */
.dropdown-conteudo a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Muda a cor do dropdown links */
.dropdown-conteudo a:hover {background-color: #f1f1f1}
66
Plataforma +IFMG
.dropdown:hover .dropdown-conteudo {
display: block;
}
/*Muda a cor de fundo do botão o conteúdo é exibido */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn"> Dropdown </button>
<div class="dropdown-conteudo">
<a href="#"> Link 1 </a>
<a href="#"> Link 2 </a>
<a href="#"> Link 3 </a>
</div>
</div>
Resultado no browser:
67
Plataforma +IFMG
Cada um destes personagens tem papéis importantes para que a evolução da web
possa se tornar forte, traçando novos caminhos, cobrindo as necessidades atuais dos
usuários e prevendo necessidades e soluções futuras.
Esta semana abordou as duas tecnologias e alguns conceitos que estão em pauta
agora no mercado de desenvolvimento web. Mas, você já imaginou o que será do HTML ou
do CSS daqui há 5 ou 10 anos? Será que ainda iremos continuar escrevendo CSS e HTML
como fazemos hoje?
Concluída essa segunda semana de estudos, é hora de uma pausa para a reflexão.
Faça a leitura (ou releitura) de tudo que lhe foi sugerido, assista aos vídeos propostos e
analise todas essas informações com base na sua experiência profissional. Esse intervalo é
importante para amadurecer as novas concepções que esta etapa lhe apresentou!”.
68
Semana 3 – Noções da linguagem JavaScript Plataforma +IFMG
Objetivos
Nesta terceira semana, você irá conhecer a linguagem de
programação JavaScript e como ela pode ser usada para
adicionar interatividade às páginas. Conhecerá sobre sua
sintaxe básica, os objetos e eventos. Irá conhecer como
manipular janelas e sobre a biblioteca JQuery.
A primeira coisa que você precisa saber é que JavaScript não tem nada a ver com
Java. Java é uma linguagem server-side, como PHP, Ruby, Python e tantas outras. A única
coisa parecida entre eles é o nome.
Sabendo disso, quero que saiba, também, que JavaScript é uma linguagem de
programação criada inicialmente para client-side. Ela é utilizada para controlar o HTML e o
CSS para manipular comportamentos na página. Mas, como assim, comportamento? Um
comportamento comum, por exemplo, é um submenu. Sabe quando você passa o mouse
em um item do menu, e aparece um submenu com vários outros itens? Pois é. A obrigação
de fazer aparecer esse submenu é do JavaScript. O submenu estava escondido, e quando
passamos o mouse no item, o submenu aparece. Todo esse comportamento quem vai
executar é o JavaScript.
O JavaScript não foi criado pelo W3C, na verdade, ele foi criado por Brendan Eich na
Netscape (um dos precursores dos navegadores web). A linguagem se chamava LiveScript,
mas logo seu nome foi mudado para JavaScript. Mesmo assim, o nome original é
ECMAScript, porque o JavaScript é mantido pela European Computer Manufacturer's
Association. Ou seja, chame de JavaScript mesmo, que é como todo mundo conhece.
Voltando ao assunto principal: o JavaScript não é mantido pelo W3C, ele é uma
linguagem criada e mantida pela ECMA. Eles mantêm uma documentação da linguagem no
site deles, mas a melhor documentação ainda são os materiais que você pode encontrar na
web mesmo.
69
Plataforma +IFMG
Você já deve ter ouvido falar sobre o desenvolvimento separado em camadas, onde
existem três camadas básicas no desenvolvimento para Web: a informação que fica com o
HTML, a formatação que fica com o CSS e o comportamento, que fica com o JavaScript.
O JavaScript é que manipula as duas primeiras camadas, isto é o HTML e CSS.
Imagine que você precise de um Slider de imagens. Toda a movimentação, ações de cliques
nas setinhas e etc, é o JavaScript que vai cuidar disso. É isso que é chamado de
comportamento.
A linguagem de programação é baseada em objetos. Os objetos são suas estruturas
básicas, propriedades do browser e os elementos de uma página HTML, ou seja, os objetos
são entidades com propriedades e comportamentos, e permitem que sejam manipulados
através de eventos do usuário. A linguagem oferece recursos interativos que faltavam no
HTML e permite a criação de páginas mais dinâmicas, que são interpretadas localmente pelo
browser, sem precisar recorrer à execução remota de programas no servidor.
Formas de usar JavaScript
Vamos fazer um primeiro Olá Mundo com JavaScript para exemplificar o primeiro
caso. Inicialmente, no Notepad++ escreva a estrutura básica do arquivo HTML:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Título</title>
<meta charset="utf-8">
</head>
<body>
</body>
</html>
<script type="text/javascript">
alert('Olá Mundo!'); Figura 32 – Janela de alerta
</script> Fonte: Elaborado pela autora
70
Plataforma +IFMG
<title>Título</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
alert('Olá Mundo');
</script>
</body></html>
E pronto, você já escreveu seu primeiro código JavaScript. Abra esse documento
HTML no browser e você vai ver uma janela de alerta aparecendo.
O exemplo acima descreve uma das formas de uso do javaScript incorporado à
página HTML. No entanto, é possível criar um arquivo com extensão JavaScript (.js)
separado. Vejamos um outro exemplo:
Primeiro, escreva a estrutura básica do HTML:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Título</title>
<meta charset="utf-8">
<script type="text/javascript" src=’Exemplo2.js’></script>
</head>
<body>
</body>
</html>
71
Plataforma +IFMG
O código fará com que o evento HTML (clicar no link) provoque a execução do código
JavaScript.
Comentários no código
Em JavaScript podemos usar comentários com uma única linha e comentários com
várias linhas. Os comentários com uma única linha começam com os caracteres:
//.
Um comentário que se estende por várias linhas começa com a sequência de
caracteres /* e continua até ser encontrada a sequência de caracteres */, que marcam o fim
do comentário.
// Este é um comentário com uma única linha
/* Este comentário ocupa várias linhas.
Tudo o que for escrito aqui dentro será ignorado pelo interpretador de JavaScript
*/
Terminar ou não com (;)
Ao contrário do que acontece nas linguagens Java e C++, em que o uso do ponto e
vírgula é obrigatório, em JavaScript ele é facultativo.
No entanto, é recomendado como boa prática de programação o uso do ; (ponto e
vírgula), assim, sempre que puder, use tal recomendação.
Sobre as variáveis
As variáveis são objetos que servem para guardar informação.
É importante que saibamos quais as regras que temos de respeitar quando
escolhemos um nome para uma variável:
• Todos os nomes têm que começar com uma letra ou com o caractere _.
• Os restantes caracteres que compõem o nome podem igualmente conter
números. Nunca se esqueça que para o JavaScript, letra maiúscula e letra
minúscula são coisas diferentes e que, por exemplo, as variáveis variavel1,
Variavel1 e vaRiavel1 são três objetos distintos.
A linguagem JavaScript é capaz de reconhecer três tipos de dados:
• Números, como por exemplo 12 ou 3.14159
• Texto (variáveis de tipo String), como por exemplo: "Seja Bem Vindo(a)!"
• Valores lógicos (true ou false)
E ainda “null” que é uma palavra especial que significa que a variável não guarda
qualquer valor, está vazia.
72
Plataforma +IFMG
Por exemplo: se tentarmos acessar uma variável local fora da função (veremos
funções a seguir) em que ela foi declarada, será gerado um erro porque a variável só existe
no universo da função em que foi declarada.
4.2 Funções
Declaração de funções
73
Plataforma +IFMG
Exemplo:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">
function mensagem() {
document.write("Bem vindo a minha página");
}
</SCRIPT>
</HEAD>
<BODY onLoad="mensagem()">
</BODY>
</HTML>
function ExemploText(texto) {
alert(texto);
}
74
Plataforma +IFMG
Declaração de função:
Invocação da função:
Voltar a um valor
function quadrado(numero) {
var quadrado = numero*numero
return quadrado;
}
Invocação da função:
document.write (quadrado(2));
Com as funções, o bom uso de variáveis locais e globais tem toda a sua importância.
Uma variável declarada dentro uma função pela palavra var terá uma invocação limitada a
esta função. Não se pode assim chamá-la fora do script. Nesse caso, a variável é chamada
de variável local.
75
Plataforma +IFMG
function quadrado(numero) {
quadrado = numero*numero
return quadrado;
}
76
Plataforma +IFMG
Onfocus
Onmouseover
77
Plataforma +IFMG
Onmouseout
78
Plataforma +IFMG
Onsubmit
Onload
79
Plataforma +IFMG
4.4 Operadores
O JavaScript possui várias classes de operadores: operadores de atribuição,
aritméticos, booleanos, comparativas e binárias. Em JavaScript são realizadas da mesma
forma que em outras linguagens estruturadas como C++. Iremos abordar os mais básicos.
Tabela 3 - Operadores
Operadores de atribuição de valor
Versão curta Significado
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
Operadores de comparação
Igualdade (==) Verifica se os dois operandos são iguais.
Desigualdade (!=) Verifica se os operandos são desiguais.
Maior do que (>) Verifica se o operando da esquerda é maior do que o da direita
Maior ou igual (>=) Verifica se o operando da esquerda é maior ou igual ao da direita.
Menor do que (<) Verifica se o operando da esquerda é menor do que o da direita
Menor ou igual (<=) Verifica se o operando da esquerda é menor ou igual ao da direita
Operadores aritméticos
+, - , / , * Soma, subtração, divisão e multiplicação
Operadores lógicos
e (&&) b && c. Dá true se b for true e c for true
ou (||) b || c. Dá false se b e c for false.
negação (!b) Dá true se b for false
Fonte: Elaborada pela autora
80
Plataforma +IFMG
else
document.write("Vamos para a mesa");
</script>
</body>
</html>
Ciclo for
Um ciclo for consiste num conjunto de três expressões, separadas pelo caractere ;
(ponto e vírgula) e pelo código a executar em cada um dos ciclos. Normalmente esse código
estará contido entre chaves para formar um bloco, mas se consistir numa única linha não é
preciso usar as chaves.
A primeira das expressões do ciclo for declara a variável a usar como índice (funciona
apenas como contador) e a inicia. A segunda expressão declara uma condição que deve ser
testada sempre que se inicia um novo ciclo. Se essa condição der false como resultado o
ciclo pára e o código definido abaixo não voltará a ser executado. A terceira expressão serve
para atualizar o valor do índice no final de cada ciclo.
Exemplo:
<html><head></head>
<body>
<script type="text/javascript">
soma = 0;
for(var i = 0; i < 3; i++) {
soma += i;
document.write("O valor do índice é agora de " + i + "<br>");
}</script>
</body>
</html>
Ciclo While
O ciclo while é muito parecido com o ciclo for. O ciclo while avalia uma condição e se
ela der true executa o bloco de código que vem imediatamente a seguir. Se der false salta
para frente do bloco de código que vem a seguir sem o executar.
Exemplo:
<html><head></head>
<body>
<script type="text/javascript">
i = 0;
while(i < 3) {
soma += i;
document.write("O valor da variável i agora é de " + i+ "<br>");
i++;
}</script>
</body>
81
Plataforma +IFMG
</html>
Instrução switch
A instrução switch é usada para executar ações diferentes com base em condições
diferentes. Sempre que a comparação detectar uma igualdade será executada a porção de
código que está associada a esse caso. A execução do código prossegue pelas linhas
seguintes até ser encontrada a instrução break ou até que termine o bloco switch.
Exemplo:
<html><head></head>
<body>
<script type="text/javascript">
var i = 12
var s = "O número " + i
switch(i) {
case 6:
s += " pertence "
break
case 12:
s += " pertence "
break
case 32:
s += " pertence "
break
default:
s += " não pertence "
}
s += "ao conjunto {6, 12, 32}"
document.write(s);
</script>
</body>
</html>
82
Plataforma +IFMG
83
Plataforma +IFMG
84
Plataforma +IFMG
<html><head></head>
<body>
<script type="text/javascript">
nome = window.prompt("Digite seu Nome:", "Sr(a). ");
/*Retorna string digitada caso o usuário clique em
OK e um string nulo caso o usuário clique em Cancelar. */
</script>
</body>
</html>
</html>
<html><head></head>
<body>
<script type="text/javascript">
window.confirm("Você tem certeza?"));
/*Retorna true caso o usuário clique em OK e false caso o
usuário clique em Cancelar. */
</script>
</body> </html>
85
Plataforma +IFMG
86
Plataforma +IFMG
4.7 JQuery
Lançada em 2006, por John Resig, jQuery é basicamente uma biblioteca JavaScript.
Com ela é possível fazer diversos efeitos com poucas linhas e, que custariam dezenas de
linhas em JavaScript puro.
Alguns recursos oferecidos facilmente pelo jQuery são:
• Seleção e manipulação de elementos HTML
• Manipulação de CSS
• Efeitos e animações
• Eventos
• Ajax
Para utilizar o jQuery, basta adicionar o arquivo JavaScript que contém o código dessa
biblioteca em uma página HTML. Esse arquivo JavaScript pode ser obtido no endereço
http://docs.jquery.com/Downloading_jQuery ou você pode fazer o link para uma CDN
(Content Delivery Network) como a do Google. A CDN é uma rede de computadores
conectados à Internet focada na distribuição de conteúdo.
Resultado no browser:
87
Plataforma +IFMG
88
Plataforma +IFMG
É importante destacar que as discussões contidas neste curso não se encerram aqui,
podendo se estender ao decorrer do tempo e das mudanças. Sendo assim, o convido a
conhecer também outros conteúdos relacionados a programação web avançada e que estão
disponíveis na Plataforma +IFMG.
89
Plataforma +IFMG
90
Plataforma +IFMG
Referências
91
Plataforma +IFMG
Currículo da autora
92
Plataforma +IFMG
93
Plataforma +IFMG
94
Plataforma +IFMG
95
Plataforma +IFMG
96
Plataforma +IFMG
97
Plataforma +IFMG
Plataforma +IFMG
Formação Inicial e Continuada EaD