Home › Fóruns › JavaScript › JavaScript 12 – Exercícios (parte 2) Mudança de foto via javascript
- Este tópico contém 46 respostas, 10 vozes e foi atualizado pela última vez 1 ano, 3 meses atrás por Marcio Felipe Gomes Rodrigues.
-
AutorPosts
-
-
21 de maio de 2021 às 16:09 #67556Rudiberto Dias AssisParticipante
Boa tarde, estou realizando o exercicios (perte 2) e meu script não está rodando a mudança das fotos, conforme condição solicitada.
segue abaixo meu script.js e modelo.htmlmodelo.html
<!DOCTYPE html>
<html lang=”pt-BR”>
<head>
<meta charset=”UTF-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Hora do dia</title>
<link rel=”stylesheet” href=”style.css”>
</head>
<body onload = “carregar()”>
<header>
<h1>Hora do dia</h1>
</header>
<section>
<div id=”msg”>
Aqui vai aparecer a mensagem
</div>
<div id=”foto”>
</div>
</section>
<footer>
<p>© CursemVideo</p>
</footer>
<script src=”script.js”> </script>
</body>
</html>script.js
function carregar() {
var msg = window.document.getElementById(‘msg’)
var img = window.document.getElementById(‘imagem’)
var data = new Date()
var hora = data.getHours()
msg.innerHTML =Agora são ${hora} horas.
if (hora >= 0 && hora < 12) {
img.src =’dia.png’
} else if (hora >= 12 && hora < 18) {
img.scr= ‘tarde.png’
}else {
img.scr=’noite.png’
}
}Preciso de ajuda para saber como resolvo esse erro, fica apenas a foto que coloco em HTML.
-
24 de maio de 2021 às 21:24 #67694Tutora MaylaMestre
Rudiberto, este erro está ocorrendo pois no seu código é feita a busca pelo elemento com id “imagem” em
var img = window.document.getElementById('imagem')
, porém não existe nenhum elemento com este id no seu HTML (<img src="noite.png" alt="Foto do dia">
). Para resolver este problema adicione o id à tag de imagem e teste novamente.Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.
-
7 de junho de 2021 às 06:47 #68798Felipe Assis De SantanaParticipante
bom dia, estou tentando rodar o código, e nao está indo:
modelo.html:
<!DOCTYPE html> <html lang="pr-BR"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hora do dia</title> <link rel="stylesheet" href="estilo.css"> </head> <body onload="carregar()"> <header> <h1>Hora do Dia</h1> </header>0 <section> <div id='msg'> Aqui vai aparecer a mensagem... </div> <div id='foto'> <img src="tarde.png" alt="Foto do dia" /> </div> </section> <footer> <p>©Felipe Assis</p> </footer> <script src="script.js"></script> </body> </html>
script.js:
function carregar(){ var msg = window.document.getElementById('msg') var res = window.document.getElementById('imagem') var data = new Date() var hora = data.getHours() msg.innerHTML=<code>Agora são ${hora} horas!</code> }if(hora >=0 && hora <12){ res.src = "manha.png" }else if(hora>=12 && hora<18){ res.src="tarde.png" }else{ res.src="noite.png" }
Me ajudem!Desde de já, obrigado!
-
7 de junho de 2021 às 10:41 #68840Tutora MaylaMestre
Felipe, movi a sua dúvida para este tópico que trata do mesmo assunto. Há uma resposta minha aqui explicando o porque deste problema acontecer, dê uma olhada nela e se ainda houver dúvidas volte a entrar em contato.
Antes de criar um tópico é sempre bom verificar se já existe um tópico sobre o assunto, utilize a barra de pesquisa no fórum para procurar por tópicos já existentes.
Espero ter ajudado, quaisquer dúvidas basta entrar em contato.
-
-
7 de junho de 2021 às 06:53 #68799Felipe Assis De SantanaParticipante
existe a tag, “” so que no código, quando copiei e colei aqui, ele so exibiu o “alt”
essa tag está dentro da “<div id=’foto’>” -
7 de junho de 2021 às 06:57 #68800Felipe Assis De SantanaParticipante
vou escrever a tag sem preencher o “alt”
-
7 de junho de 2021 às 14:15 #68865Felipe Assis De SantanaParticipante
mas a tag tem o id por nome “imagem”, no me codigo está escrito assim <!–
<img src="tarde.png" />
, coloquei em comentario, por que se nao ele so exibe o “alt” -
7 de junho de 2021 às 14:17 #68866Felipe Assis De SantanaParticipante
nao sei por que, mas quando eu comento aqui no forum, ele nao exibe o codigo da tag img, mas ela tem um id= ‘imagem
‘-
8 de junho de 2021 às 11:17 #68916Tutora MaylaMestre
Felipe, a postagem do fórum é editada via html, por isso pode vir a interpretar algumas tags, como
img
por exemplo que é uma das aceitas.
Para postar seu código sem problema cole-o aqui, selecione ele e clique em “code” que assim seu código sera postado com a formatação de código.
Faça esse procedimento então e nos envie novamente o seu código por favor.
-
-
18 de novembro de 2021 às 14:12 #80825Mauro JuniorParticipante
Estou como um problema nesse exercicio também.
consigo roda quase todo codigo, mais na parte de carrega a imagem da tarde não vai.
vi no console do navegador o erro está dando no item – img.src = “fototarde.png”gostaria da ajuda dos colegas
-
18 de novembro de 2021 às 14:18 #80826IcaroFilhoModerador
posta seu codigo por favor. Lembre se de enviar formatado.
-
-
18 de novembro de 2021 às 14:45 #80828Mauro JuniorParticipante
<!DOCTYPE html>
<html lang=”pt-br”>
<head>
<meta charset=”UTF-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<link rel=”stylesheet” href=”p.css”>
<script src=”p1.js”></script>
<title>Hora do Dia</title>
</head>
<body onload =”carregar()”>
<header>
<h1>Hora do dia</h1></header>
<section>
<div id=’msg’>
Aqui vai aparecer a mensagem…
</div>
<div>
</div>
</section>
<footer>
<p>© Mauro Junior</p>
</footer>
</body>
<script src=”p1.js”></script>
</html>codigo JavaScricpt :
function carregar() {
var msg = window.document.getElementById(‘msg’)
var im = window.document.getElementById(‘imagem ‘)
var data = new Date()
var hora = data.getHours()msg.innerHTML =
Agora são ${hora} horas.
if(hora >= 0 && hora < 12) {
im.src =”manha.png”
document.body.style.background = ‘cede7b’
} else if(hora >= 12 && hora <= 18) {
im.src = “tarde.png”
document.body.style.background = “green”
} else{
im.src = ‘noite.png’
document.body.style.background = ‘red’
}
}-
19 de novembro de 2021 às 14:35 #80879IcaroFilhoModerador
mauro, não consegui localizar onde esta o elemento com id=’imagem’
quando colar seu código aqui. selecione ele todo novamente e aperte em CODE na barra de formatação de texto.
-
-
19 de novembro de 2021 às 16:14 #80885Mauro JuniorParticipante
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="p.css">
<script src="p1.js"></script>
<title>Hora do Dia</title>
</head>
<body onload ="carregar()">
<header>
<h1>Hora do dia</h1></header>
<section>
<div id='msg'>
Aqui vai aparecer a mensagem...
</div>
<div>
</div>
</section>
<footer>
<p>© Mauro Junior</p>
</footer>
</body>
<script src="p1.js"></script>
</html>
-
19 de novembro de 2021 às 16:21 #80887Mauro JuniorParticipante
no meu codigo a ID imagem está aonde está em “foto manha na DIV, mais quando coloquei o cod aqui não esta aparecendo.
segue o cod JavaScript
function carregar() {
var msg = window.document.getElementById(‘msg’)
var im = window.document.getElementById(‘image ‘)
var data = new Date()
var hora = data.getHours()msg.innerHTML =
Agora são ${hora} horas.
if (hora >= 0 && hora < 12) {
im.src = “manha.png”
document.body.style.background = ‘cede7b’
} else if (hora >= 12 && hora <= 18) {
im.src = “tarde.png”
document.body.style.background = “green”
} else {
im.src = ‘noite.png’
document.body.style.background = ‘red’
}
} -
23 de novembro de 2021 às 14:09 #81023Mauro JuniorParticipante
?
-
24 de novembro de 2021 às 09:18 #81067IcaroFilhoModerador
Bom dia. Desculpe a demora.
Então Mauro. Peguei o se código e repliquei aqui.
Como aparentemente “bugou” na hora da sua postagem, a única alteração que fiz foi criar a tag IMG dentro da 2 DIV (que esta abaixo da div id=’msg’ficando assim:
<section> <div id="msg">Aqui vai aparecer a mensagem...</div> <div id=''>foto manha <img src="" alt="estação" id='image'> </div> </section>
Quando faço a alteração manual da variável hora dentro do javascript (simulando os diferentes horários do dia), todas as imagens aparecem conforme o esperado.
Qual a mensagem de erro aparece no console ?
-
-
24 de novembro de 2021 às 10:46 #81069Mauro JuniorParticipante
Bom dia, meu amigo
O programa roda , mais a cor do background e as fotos não mudam, conforme as horas são atualizadas.
-
22 de junho de 2022 às 20:35 #96182IcaroFilhoModerador
Ainda esta com duvidas ?
Quando se passa a cor pelo código Hexadecimal, é obrigatorio a passagem com #.
ex.:document.body.style.background = "#cede7b";
Quanto as fotos, eles tem que estar no mesmo diretório do arquivo js devido ao seu caminho passado.
-
-
26 de agosto de 2022 às 17:51 #100179ROSANGELA MENDESParticipante
Já li os posts anteriores e respostas, mas não consegui trocar a foto. Aguardo ajuda!
<!DOCTYPE html>
<html lang=”pt-BR”>
<head>
<meta charset=”UTF-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Horas do dia</title>
<link rel=”stylesheet” href=”estilo.css”>
</head>
<body onload=”carregar()”>
<header>
<h1>Hora do dia</h1>
</header>
<section><div id=”msg”>
Aqui vai aparecer a mensagem
</div>
<div id=”imagem”>
</div>
</section>
<footer>
<p> © Cursoemvideo</p>
</footer>
<script src=”script.js”></script>
</body>
</html>————————————————–
function carregar(){
var msg = window.document.getElementById(‘msg’)
var img = window.document.getElementById(‘imagem’)
var data = new Date()
var hora = data.getHours()
//var hora = 20
msg.innerHTML =Agora são ${hora} horas.
if(hora >= 0 && hora < 12){
img.src = ‘manha.png’
//BOM DIA
}else if (hora >= 12 && hora < 18){
//BOA TARDE
img.scr = ‘tarde.png’
} else{
//BOA NOITE
img.src = ‘noite.png.png’
}
} -
26 de agosto de 2022 às 18:39 #100181ROSANGELA MENDESParticipante
Continuando!!
O background muda de cor conforme o horário, mas as imagens não!
-
26 de agosto de 2022 às 19:12 #100191Tutora JessicaModerador
Ola Rosangela,
Somente o boa tarde que não esta funcionando?
Por que o seu BOA TARDE , esta com SCR, em vez de SRC.
Veja se é somente isso? -
27 de agosto de 2022 às 10:37 #100221ROSANGELA MENDESParticipante
Boma dia!
Não troca a imagem, sempre permanece a mesma. Arrumei o src, mas não era esse erro. Permanece sempre a foto que está na div, no caso coloquei tarde.
O resto funciona perfeitamente. -
27 de agosto de 2022 às 14:35 #100224ROSANGELA MENDESParticipante
Boa tarde!
Descobri pq não funcionava. No HTML o ID era ‘imagem’ – coloquei img – Apenas isso
Obrigada! -
29 de agosto de 2022 às 11:53 #100339Tutora JessicaModerador
Que bom que encontrou Rosangela!!
Esses pequenos erros são comuns, o importante é sempre buscar a solução!!
Qualquer dúvida, só retornar ao fórum 🖖 -
11 de maio de 2023 às 15:19 #115829ClaudiaParticipante
Não consigo achar o erro para as fotos não trocarem quando os horários são alterados.
<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hora do Dia</title> <link rel="stylesheet" href="estilo.css"> </head> <body onload="carregar()"> <header> <h1>Hora do Dia</h1> </header> <section> <div id="msg"> Aqui vai aparecer a mensagem </div> <div id="foto"> <img id="imagem " src="fotomanha.png" alt="foto do dia"> </div> </section> <footer> <p>©Curso em Vídeo</p> </footer> <script src="script.js"></script> </body> </html> No Java Script function carregar() { var msg = window.document.getElementById("msg") var img = window.document.getElementById("imagem") var data = new Date() var hora = data.getHours() msg.innerHTML = <code>Agora são ${hora} horas.</code> if (hora >= 0 && hora < 12) { //Bom DIA! img.src = "fotomanha.png" } else if (hora >= 12 && hora <= 18) { //BOA TARDE! img.src = "fototarde.png" } else { //BOA NOITE! img.src = "fotonoite.png" } }
-
11 de maio de 2023 às 16:25 #115838Tutora JessicaModerador
Ola Claudia, trouxe a sua dúvida para uma já existente no fórum.
Veja se com as explicações acima você consegue resolver sua questão.
Senão retorne ao fórum que vamos tentar lhe ajudar.
Bons estudos 🖖 -
13 de maio de 2023 às 15:51 #116020ClaudiaParticipante
Infelizmente não consigo achar o erro!
Estou perdendo tempo a 2 dias,lendo perguntas e respostas de colegas onde visivelmente o problema é outro.
Meu código parece completamente correto. Não acho o problema! Já refiz inumeras vezes!<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hora do Dia</title> <link rel="stylesheet" href="estilo.css"> </head> <body onload="carregar()"> <header> <h1>Hora do Dia</h1> </header> <section> <div id="msg"> Aqui vai aparecer a mensagem </div> <div id="foto"> <img id="imagem " src="fotonoite.png" alt="foto do dia"> </div> </section> <footer> <p>©Curso em Vídeo</p> </footer> <script src="script.js"></script> </body> </html> No Script ficou: function carregar() { var msg = window.document.getElementById("msg") var img = window.document.getElementById("imagem") var data = new Date() var hora = data.getHours() msg.innerHTML = <code>Agora são ${hora} horas.</code> if (hora >= 0 && hora < 12) { //Bom DIA! img.src ="fotomanha.png" } else if (hora >= 12 && hora <= 18) { //BOA TARDE! img.src ="fototarde.png" } else { //BOA NOITE! img.src ="fotonoite.png" } }
-
15 de maio de 2023 às 10:33 #116121Tutora JessicaModerador
Ola Claudia, você forçou o código usando o horário de manhã, tarde e noite com o var hora = o horario que quiser ?
Exemplo:var hora = 9 var hora = 14 var hora = 19
-
15 de maio de 2023 às 17:52 #116175Tutora JessicaModerador
Ola Claudia, então esta faltando a crase numa parte do seu código..
Deve ficar dessa forma:msg.innerHTML = ‘
Agora são ${hora} horas.
‘ -
16 de maio de 2023 às 14:54 #116244ClaudiaParticipante
ACHEI O ERRO!!!!!!!!!!!!!!!!
Há um espaço em branco após o ID “imagem”, o que causa um erro ao tentar selecionar o elemento por meio do JavaScript usando document.getElementById(“imagem”). Para corrigir o problema, removi o espaço em branco após o ID:
Aqui em baixo, logo após a palavra “imagem” está o erro!
</div>
To emocionada! Agora posso continuar o exercício hehehehe 🙂
-
16 de maio de 2023 às 15:03 #116245ClaudiaParticipante
Esqueci de mencionar, que o erro está no HTML.
ou seja:No HTML, há um espaço em branco após o ID “imagem”, o que está causando um erro ao tentar selecionar o elemento por meio do JavaScript usando document.getElementById(“imagem”). Para corrigir o problema, removi o espaço em branco após o ID:
-
16 de maio de 2023 às 15:36 #116250Tutora JessicaModerador
Parabens Claudia!! Você esta no caminho certo, aqui as vezes acontece da gente não conseguir encontrar o erro por conta dessas coisinhas .. rs caso queira você pode compartilhar seu codigo conosco pelo discord tambem !! Parabens mais uma vez por encontrar o erro !! Bons estudos 🖖🏼
-
21 de julho de 2023 às 08:52 #120263Yuander Rodrigues MatosParticipante
Bom dia, estou tentando estilizar o background a depender da hora, e tentei usar o background-color, mas ele não funciona, o VS Code mostra que tem algo errado no sinal de “=”, usei da seguinte forma:
const carregar = () => {
var msg = document.querySelector(‘#msg’)
var img = document.querySelector(‘#img1’)
var data = new Date()
var hora = data.getHours()//var hora = 13
msg.innerHTML =
Agora são ${hora} horas.
//Definir manhã, tarde e noite
if (hora >= 4 && hora< 12) {
//Bom dia!
img.src = ‘../morning2.png’
//document.body.style.background-image = ‘linear-gradient(to right, #fc9c0e, #ffb84d, #ffcc27)’ //Não funciona
document.body.style.background = ‘#ffcc27’ // Funciona
} else if (hora >= 12 && hora < 18) {
//Boa tarde
img.src = ‘../afternoom2.png’
document.body.style.background = ‘#5197ff’ //Funciona
} else {
//Boa noite
img.src = ‘../night2.png’
//document.body.style.background-image = ‘linear-gradient(to right, #191970, #4f4fc7, #7373ec)’ //Não funciona
document.body.style.background = ‘#4f4fc7’ //Funciona
}
}Como preciso escrever para que o background-color funcione?
Obrigado
-
21 de julho de 2023 às 10:08 #120268Tutora JessicaModerador
Ola Yuander , movi a sua dúvida para este tópico que trata do mesmo assunto, de uma olhada nas explicações acima, caso não consiga resolver sua dúvida, só retornar ao fórum que iremos lhe ajudar.
-
21 de julho de 2023 às 10:57 #120272Yuander Rodrigues MatosParticipante
Só corrigindo, eu disse background-color em alguns momentos, mas para o efeito degradê precisa ser escrito background-image, como está no código.
-
21 de julho de 2023 às 11:44 #120280Tutora JessicaModerador
Sim, eu percebi..rs
Conseguiu resolver? -
21 de julho de 2023 às 11:53 #120281Yuander Rodrigues MatosParticipante
Não consegui resolver, a página carrega apenas o background = ‘cor’, se eu uso o background-image é carregado apenas o que foi definido no CSS.
-
21 de julho de 2023 às 11:56 #120282Tutora JessicaModerador
Retire o
-image
do seu background e veja se funciona. -
21 de julho de 2023 às 12:25 #120286Yuander Rodrigues MatosParticipante
Mas respondendo, se retira o -image também funciona 😀
-
-
21 de julho de 2023 às 12:14 #120284Tutora JessicaModerador
A propriedade background-image é aplicada a todos os elementos HTML, ou seja, todos eles podem adicionar uma imagem de fundo para modificar sua aparência. Entretanto, o padrão é que não exista nenhuma associação definida. Seu valor inicial é definido como none. É possível aplicar como imagem de fundo boa parte dos formatos utilizados, por exemplo: JPG, PNG, SVG, GIF etc.
Vale ressaltar que, ao aplicar uma imagem como background, é importante utilizar uma propriedade auxiliar, como a background-color, para substituir a imagem caso ocorra alguma falha em seu carregamento. Isso é indicado para evitar, por exemplo, problemas de contrastes entre a cor de fundo e a cor da fonte, caso seja um elemento que contenha texto.
-
21 de julho de 2023 às 12:23 #120285Yuander Rodrigues MatosParticipante
Na verdade consegui agora, vi que na parte 3 do exercício o Guanabara usa uma propriedade do CSS (text-align) no JS da seguinte forma: textAlign.
Tentei ver se seria essa a forma de escrever no JavaScript e funcionou, no caso, a linha fica assim:
document.body.style.backgroundImage = ‘linear-gradient(to right, #191970, #4f4fc7, #7373ec)’
HTML:
<body onload=”carregar()”>
<header>
<h1>Hora do dia</h1>
</header><section>
<div id=”msg”>
Aqui vai aparecer a mensagem
</div>
<div id=”foto”>
</div>
</section><footer>
<p>© Yuander</p>
</footer><script src=”script.js”></script>
</body>
SCRIPT:
//Funções
//Carregar data e hora
const carregar = () => {
var msg = document.querySelector(‘#msg’)
var img = document.querySelector(‘#img1’)
var data = new Date()
var hora = data.getHours()//var hora = 19
msg.innerHTML =
Agora são ${hora} horas.
//Definir manhã, tarde e noite
if (hora >= 4 && hora< 12) {
//Bom dia!
img.src = ‘midia/morning2.png’
document.body.style.backgroundImage = ‘linear-gradient(to right, #fc9c0e, #ffb84d, #ffcc27)’
} else if (hora >= 12 && hora < 18) {
//Boa tarde
img.src = ‘midia/afternoom2.png’
document.body.style.backgroundImage = ‘linear-gradient(to right, #ffb412, #5197ff, #7aafff)’
} else {
//Boa noite
img.src = ‘midia/night2.png’
document.body.style.backgroundImage = ‘linear-gradient(to right, #191970, #4f4fc7, #7373ec)’
}
}Escrevendo dessa forma funcionou.
😀
Obrigado.
-
21 de julho de 2023 às 13:44 #120288Tutora JessicaModerador
Não precisa agradecer, você mesmo encontrou o erro e é isso ai, parabéns!!
Nunca desista, as vezes estamos errando algo bobo.
Parabéns mais uma vez e bons estudos 🖖🏻
-
-
13 de agosto de 2023 às 13:36 #121496Marcio Felipe Gomes RodriguesParticipante
Olá, tudo bem?
Meu programa não muda a tela do HTML. Ele estava rodando até chegar os “IFs” do JavaScript.Já visitei os comentários dos colegas e não encontrei a solução para o meu impedimento.
HTML:
<!DOCTYPE html>
<html lang=”pt-br”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Hora Automática</title>
<link rel=”stylesheet” href=”style.css”>
</head>
<body onload=”carregar()”>
<header>
<h1>Hora Automática</h1>
</header>
<section>
<div id=”msg”>
Aqui vai paracer a mensagem!
</div>
<div id=”imagem”>
</div>
</section>
<footer><p>© MR</p></footer>
<script src=”script.js”></script>
</body>
</html>JS
function carregar(){
var msg = document.getElementById(‘msg’)
var img = document.getElementById(‘imagem’)
var data = new Date()
var hora = data.getHours()
msg.innerHTML=Neste momento, a hora é: ${hora} horas.
if (hora >= 0 && hora < 12) {
img.src=”dia.png”
} else if (hora >= 12 && < 18){
img.src=”tarde.png”
} else {
img.src=”noite.png”
}
}Poderiam ajudar?
-
13 de agosto de 2023 às 13:48 #121497Marcio Felipe Gomes RodriguesParticipante
Identifiquei e agora foi! Eu havia esquecido de colocar “hora” do “< 18″ em:
} else if (hora >= 12 && < 18){
img.src=”tarde.png”Por isso não estava indo. Agora deu certo!
Obrigado eu mesmo pela minha dedicação e esforço!
-
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.