Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gleyson Abreu

Confirmar se visualizou a imagem

Recommended Posts

Queria saber se a alguma maneira de confirmar que  a pessoa visualizou determinada imagem, por exemplo tenho um slideshow automático que exibi as imagens que tem um id x quero pegar esse id x é enviar pro meu banco de dados há alguma forma de fazer isso?

Tava fuçando no w3schools e encontrei um slideshow automatico o seguinte codigo:

var myIndex = 0;
carousel();
function carousel() {
    var i;
    var x = document.getElementsByClassName("mySlides");
    for (i = 0; i < x.length; i++) {
       x[i].style.display = "none";
    }
    myIndex++;
    if (myIndex > x.length) {myIndex = 1}    
    x[myIndex-1].style.display = "block";
    setTimeout(carousel, 1000); // Change image every 2 seconds
}

Queria saber se teria como eu pegar o id da imagem do slideshow que está sendo exibida na tela para enviar para o banco de dados.. já tentei de várias formas adaptar esse código mas não conseguir.

Se houver outra forma de fazer isso que expliquei da um help aqui

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dar sim, pois se cada elemento de seletor class mySlides possuir um id você pode obter esse valor logo assim:

x[myIndex-1].style.display = "block";
var identificador = x[myIndex-1].id; // Esse seria o ID do atual .mySlides

 

Nesse caso então para enviar para um salvamento em banco de dados, você pode optar por executar um ajax requisitando o arquivo que vai fazer o registro no banco informando esse valor

objeto_HttpRequest.open('GET', 'arquivo_que_salva.php?valor=' + identificador, true);

Nesse caso tem que criar a estrutura do protocolo pois só informei como fazer o envio. Pois o "arquivo_que_salva.php" sempre vai receber $_GET['valor']; que é o id passado pela função javascript

 

Só que desaconselho isso... Porque?

 Na sua função você tem:

setTimeout(carousel, 1000);

Ao qual a cada 1 segundo ele troca de imagem, então a cada 1 segundo será uma query executada, agora imagine se 1.000 pessoas estiverem acessando. Isso são 1000 querys por segundo (coitado do seu servidor), sem contar que alguém pode abrir o inspetor e alterar o javascript para setTimeout(carousel, 1); executando uma query a cada 1ms

 

Mas sei lá, se fosse para eu fazer iria tentar da forma que falei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana. Só puxando o gancho, não teria como "proteger" a edição do time usando POO? tipo, criar uma função com atributo private e criar um método getter que retorna o valor desse atributo privado. Sou iniciante e estava estudando isso, fiquei com a dúvida.

 

 

Bacana. Só puxando o gancho, não teria como "proteger" a edição do time usando POO? tipo, criar uma função com atributo private e criar um método getter que retorna o valor desse atributo privado. Sou iniciante e estava estudando isso, fiquei com a dúvida.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por juniormatrix
      Olá
       
      Achei esse script aqui no fórum mesmo:
       
      $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um.

      Tem como fazer? 
       
      Se alguém puder ajudar, fico muito grato.
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
    • Por rogerblower
      Boas pessoal, estou precisando de um calendário para agenda com crud para agendamento, mas teria que ser free.
      Obrogado.
    • Por Sapinn
      Fala galera! Tenho um site que possui alguns icones que são puxados da biblioteca flaticon , o problema é que de uma hora pra outra esses icones pararam de aparecer. No meu ambiente local funciona, mas no ambiente de produção eles não aparecem e eu recebo o seguinte erro no console: Failed to load resource: the server responded with a status of 404 () 
       
      Alguém saberia como resolver isso?
    • Por mateus.andriollo
      Carrego um conteudo Ajax e junto com ele vem HTML e JS, existe um marcador que está relacionado a um elemento HTML, quando eu clico e este elemento tem um atributo exemplo data-onload="funcaoOla()" esta função tbm carregada pelo ajax deve ser executada.
       
      Dúvida como eu faço uma chama de função desta forma, seria como exec("funcaoOla")
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.