Jump to content
luciano

pegar valor da função

Recommended Posts

Boa noite pessoal alguém poderia me ajudar por favor,

gostaria de pagar o valor da função random e colocar na imagem.

-----função-----

<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
Math.floor((Math.random() * 22) + 1);        
</script>

----------

 <img src="imagens/('#demo').jpg" alt="Card">

 

Eu ja tentei:

('#demo')

'#demo'

"#demo"

Nada funciona.

 

Por favor me dem uma luz, não manjo de java

Obrigado

Share this post


Link to post
Share on other sites

Não ficou claro o que pretende.

Explique o objetivo para termos uma ideia do que está tentando fazer.

Share this post


Link to post
Share on other sites

seu erro é simples você não está sabendo lidar com o id, e aparentemente desconhece o básico de javascript, então sugiro que estude mais!

 

Erros:

1-voce está querendo substituir o valor usando uma #demo, não é usado geralmente # no html, normalmente é usado no css para especificar id no html é usado tags, então quando se usa o método getElementById semanticamente ele ira buscar o "id" no dom do html e não apenas uma string como você implementou

2-no javascript está usando o método innerHtml quando deveria estar usando "src" se seu intuito e trocar os paths das imagens dinamicamente.

3-o path deve ser construído no javascript já que você quer fazer essa troca dinamicamente

4-chama a linguagem que está demonstrando de Java.

 

Solução

Html

<img id="demo" src="" alt="Card">

JS:

document.getElementById("demo").src = "imagens/" + Math.floor((Math.random() * 22) + 1) + ".jpg";

 

 

 

 

Share this post


Link to post
Share on other sites
16 horas atrás, wanderval disse:

seu erro é simples você não está sabendo lidar com o id, e aparentemente desconhece o básico de javascript, então sugiro que estude mais!

 

Erros:

1-voce está querendo substituir o valor usando uma #demo, não é usado geralmente # no html, normalmente é usado no css para especificar id no html é usado tags, então quando se usa o método getElementById semanticamente ele ira buscar o "id" no dom do html e não apenas uma string como você implementou

2-no javascript está usando o método innerHtml quando deveria estar usando "src" se seu intuito e trocar os paths das imagens dinamicamente.

3-o path deve ser construído no javascript já que você quer fazer essa troca dinamicamente

4-chama a linguagem que está demonstrando de Java.

 

Solução

Html


<img id="demo" src="" alt="Card">

JS:


document.getElementById("demo").src = "imagens/" + Math.floor((Math.random() * 22) + 1) + ".jpg";

 

 

 

 

 

Olá Wanderval, muito obrigado por sua ajuda e por responder. 
Sim realmente não tenho conhecimento algum em javascript estou tentando aprender, desculpe as perguntas idiotas mais um dia aprendo rss.

Este cód. achei na internet e estou tentando modifica-lo, mais não funcionou com as alterações que você enviou.

mesmo assim agradeço sua boa vontade, grande abraço.

 

Share this post


Link to post
Share on other sites
23 horas atrás, Omar~ disse:

Não ficou claro o que pretende.

Explique o objetivo para termos uma ideia do que está tentando fazer.

Olá Omar agradeço sua resposta, esta é uma função que peguei na internet estou fazendo umas modificações, mais não manjo de java, ainda estou aprendendo,

 

vou postar aqui para ver se você entende melhor;

só precisava que pegasse o valor da função randon o  id="demo" e colocasse o numero que foi sorteado nesta linha que seria o nome da imagem

$('#sel1d').attr('src','imagens/'+demo+'.jpg');

Novamente Obrigado

Share this post


Link to post
Share on other sites

 

1 hora atrás, luciano disse:

 

Olá Wanderval, muito obrigado por sua ajuda e por responder. 
Sim realmente não tenho conhecimento algum em javascript estou tentando aprender, desculpe as perguntas idiotas mais um dia aprendo rss.

Este cód. achei na internet e estou tentando modifica-lo, mais não funcionou com as alterações que você enviou.

mesmo assim agradeço sua boa vontade, grande abraço.

 

O que exatamente não funcionou, a lógica está funcional sim, você pode conferir no link abaixo, não iria postar um código como solução sem estar funcionando se você tem uma pasta imagens e todas as imagens realmente são no formato jpg deveria estar funcionando sim mas vendo a sua resposta anterior você agora colocou um código usando jquery, mas tá ai minha opinião e que se não está funcionando e que não esta sabendo manipular os arquivos de images ou está colocando o path errado até as imagens, logo abaixo você vai poder conferiri no link e brincar um pouco e vai ver que nada está errado com a lógica

 

link jsbin: https://jsbin.com/pafiroqeco/edit?html,js,output

Share this post


Link to post
Share on other sites

Vamos tentar explicar o comportamento do jQuery:

5 horas atrás, luciano disse:

$('#sel1d').attr('src','imagens/'+demo+'.jpg');

 

Isso:

$('#sel1d')

irá lançar um document.querySelectorAll se o valor for indefinido então vai lançar um document.querySelector, que será duas varreduras no DOM em busca de um elemento só, mas enfim ele acha porque na segunda busca o alvo é o elemento ID em questão "#sel1d"

 

Agora

.attr

Uma vez que jQuery já tenha o elemento ele irá chamar a função do javascript

setAttribute anexando o elemento.

 

Assim sendo temos 2 parâmetros src & imagens/'+demo+'.jpg

Ou seja o que isso $('#sel1d').attr('src','imagens/'+demo+'.jpg'); faz?

No elemento de id sel1d adicione o atributo src com o valor imagens/'+demo+'.jpg

 

Isso aqui está 100% funcional

22 horas atrás, wanderval disse:

<img id="demo" src="" alt="Card">

JS:


document.getElementById("demo").src = "imagens/" + Math.floor((Math.random() * 22) + 1) + ".jpg";

 

Pois nada mais que faz é anexar um valor ao atributo src da imagem.

 

 

5 horas atrás, luciano disse:

manjo de java, ainda estou aprendendo

Java é uma linguaguem, JavaScript é outra coisa.

E já está começando mau por aderir ao jQuery.

Quer aprender javascript?

Está aqui o lugar para isso: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript

 

Share this post


Link to post
Share on other sites
8 horas atrás, wanderval disse:

 

O que exatamente não funcionou, a lógica está funcional sim, você pode conferir no link abaixo, não iria postar um código como solução sem estar funcionando se você tem uma pasta imagens e todas as imagens realmente são no formato jpg deveria estar funcionando sim mas vendo a sua resposta anterior você agora colocou um código usando jquery, mas tá ai minha opinião e que se não está funcionando e que não esta sabendo manipular os arquivos de images ou está colocando o path errado até as imagens, logo abaixo você vai poder conferiri no link e brincar um pouco e vai ver que nada está errado com a lógica

 

link jsbin: https://jsbin.com/pafiroqeco/edit?html,js,output

Ok Obrigado, vou dar uma estudada mais afundo
Valew

6 horas atrás, Omar~ disse:

Vamos tentar explicar o comportamento do jQuery:

 

Isso:

$('#sel1d')

irá lançar um document.querySelectorAll se o valor for indefinido então vai lançar um document.querySelector, que será duas varreduras no DOM em busca de um elemento só, mas enfim ele acha porque na segunda busca o alvo é o elemento ID em questão "#sel1d"

 

Agora

.attr

Uma vez que jQuery já tenha o elemento ele irá chamar a função do javascript

setAttribute anexando o elemento.

 

Assim sendo temos 2 parâmetros src & imagens/'+demo+'.jpg

Ou seja o que isso $('#sel1d').attr('src','imagens/'+demo+'.jpg'); faz?

No elemento de id sel1d adicione o atributo src com o valor imagens/'+demo+'.jpg

 

Isso aqui está 100% funcional

Pois nada mais que faz é anexar um valor ao atributo src da imagem.

 

 

Java é uma linguaguem, JavaScript é outra coisa.

E já está começando mau por aderir ao jQuery.

Quer aprender javascript?

Está aqui o lugar para isso: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript

 

Ok Obrigado, vou dar uma estudada mais afundo
Valew

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By unset
      Olá, estou com uma pequena dúvida 
       
      Como transformar a data que recebemos com a função date("Y-m-d H:i") em uma string 2021-04-22T00:00 exatamente nesse formato ?
    • By joagostini
      Olá, sou iniciante, e estou fazendo, como exercício, o jogo da velha. 'Desenvolvi' uma rotina de escolha de nível do jogo (serão 3 níveis) que deve aguardar a escolha do usuário para o programa prosseguir. Mas acho que não entendi direito como o javascript funciona, pois o que fiz não funciona e não encontrei uma solução (talvez não saíba como pesquisar corretamente o assunto na web).

      O começo do HTML (que é pouco) onde está um select para escolha do nível é este:
      <body>     <div id="dvmenu">         <button onclick="iniciar()">Iniciar Jogo</button>         <p><br></p>         <div id="dvQuemComeca">             <label for="nivel">Escolha o nivel:</label>             <select id="nivel" onChange='atualiza()'>                 <option value=0 selected>Escolha um nível</option>                 <option value=1>Nível 1 - Brincadeira</option>                 <option value=2>Nivel 2 - Surpresa</option>                 <option value=3>Nível 3 - Desafio</option>             </select>         </div>         <div id="jogador" class="jogador"></div>         <div id="vencedor" class="jogador"></div>     </div>  
      O código JS é este:
      //INÍCIO VEM DE LOAD function iniciar() {     casela = document.querySelectorAll('div[id^="p"]');     for (let cas of casela) {         cas.innerHTML = '';     }     for (let i = 0; i < 9; i++){        tab = tab;     }     console.log(tab);     nivel = 0;      msg = '';     qtosLancesJog = 0;     sorteiaJogador();     //até aqui funcionou direito } //-------------------------------------------------------------------- //ESCOLHA DO NÍVEL DO JOGO function atualiza(){     let selecao = document.querySelector('#nivel');     let opcao = selecao.options[selecao.selectedIndex];     return opcao.value;    }   //--------------------------------------------------------------------   //SORTEIA QUEM VAI COMEÇAR JOGANDO //função para definir o jogador que inicia o tab function sorteiaJogador() {//funcionou direito     let quemComeca = parseInt(Math.floor(Math.random() * 2));     if (quemComeca == 0) {         msg = 'Computador';         //setTimeout(lanceCpu, 2000);//dá um intervalo antes do computador realizar o 1 lance         lanceCpu();     } else msg = 'Humano';//neste caso a rotina espera que o jogador clique no tabuleiro, qdo roda a função lancetab(pos)         lanceHumano();     document.querySelector('#jogador').innerHTML = `<br>O ${msg} começa!`; } //--------------------------------------------------------------------   //ESCOLHA RANDÔMICA, NIVEL = 1, Da POSIÇÃO DO LANCE DA CPU NO tabULEIRO function jogouCpu(){//funcionou direito //nível 1 modo randômico pos = Math.floor(Math.random() * 9); return pos; }   //função humana function lanceHumano(){     console.log('Estou na função humana');     do {         nivel = atualiza();         console.log(nivel);     } while (nivel === 0);     console.log(nivel + ' passei direto'); }  
      O problema está nesse do...while da function lanceHumano(). Segundo entendi, ele prosseguiria apenas quando nivel!== 0, caso contrário, ficaria 'preso' até o momento que o usuário escolhesse uma das opções. Pelo HTML percebesse que setei o select para value=0. Mas ele nem se dá ao trabalho de esperar um miléssimo de segundo, segue em frente com o valor que tiver, no caso 0. O while  não tem efeito. Essa minha perspectiva está errada? Se sim, o que fazer? (paradigma funcional, await?) Obrigado.
      P.S.. No código tem uns conole.logs que servem watch-dogs para ajudar a entender por onde vão as rotinas.
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
    • By Kellison Ruan
      Acho que não fui tão claro no título, portanto irei esmiuçar melhor aqui...
       
      É o seguinte, quero saber se há algum jeito de pegar as linhas de uma coluna q está em VARCHAR com informações do tipo "4 PONTOS DE ILUMINAÇÃO", dessa informação pretendo retirar somente o número que em questão é o "4" e colocá-lo em outra coluna INTEGER. Há essa possibilidade? Detalhe, as vezes as informações não está seguindo um padrão de vim somente como "4 PONTOS DE ILUMINAÇÃO" às vezes vêm dados com mais informações númericas que precisa distinguir, por exemplo, a mim só interessa pegar números que vem antecedendo as palavras "PONTOS", "PTOS", "PTS", têm algum jeito de distinguir isso?
    • By lezão
      Bom dia!
      Estou usando um código q me retorna o mês por extenso, o campo no banco de dados esta com a formatação "Date".
      Mas qnd eu coloco este codigo abaixo:
      <?php setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); date_default_timezone_set('America/Sao_Paulo'); echo strftime('%a, %d de %B de %Y', strtotime('data_comentario')); ?> Não puxa a data correspondente ao do campo do banco.
      Fica retornando assim em todos registros: Qua, 31 de Dezembro de 1969.
       
       
      Alguem pode me ajudar????
       
      Obrigado!
    • By slaoxx
      Não conseguir obter êxito, minha sintaxe foi a seguinte:
       
      CREATE FUNCTION precomed ()
      RETURNS decimal
      SELECT AVG(preco_cd);
       
      SELECT precomed ();
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.