Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Olá pessoal,bom dia/boa tarde/boa noite;

 
Vou logo adiantando que javascript não é o meu forte.
 
Estou criando um sistema de avaliação por estrelas para uma aplicação minha. Depois de um pouco de trabalho consegui arranjar um código na net e modifiquei para meus propósitos. Nele, existe uma class 'full' que vai enchendo as estrelinhas de acordo com o usuário passa o mouse sobre elas, e quando ele retira o mouse as estrelas voltam a ficar vazias. Cada estrela tem uma pontuação.
O problema é que no código que eu arranjei ele faz a inserção no banco de dados quando o usuário clica na estrela, e no meu caso eu tenho um botão para enviar os dados. Ou seja, eu preciso que quando o usuário clique na estrela, guardar a pontuação dela para usar mais tarde quando o usuário apertar no botão, mostrar as estrelas cheias até onde ele clicou e quando ele tirar o mouse da div não voltar a ficar tudo vazio. E como eu já mencionei antes, sou muito ruim em javascript. Se alguém de vocês puder dar uma ajudinha ou algumas dicas fico muito agradecido. Segue o código que utilizei até agora abaixo: 

 $(function(){   $('.star').on('mouseover',function(){              var indice = $('.star').index(this);              $('.star').removeClass('full');              for(var i = 0; i <= indice; i++){                    $('.star:eq('+i+')').addClass('full');              }           });              $('.star').on('mouseout',function(){           $('.star').removeClass('full');         });            $('.star').on('click',function(){           var ponto = $(this).attr('id');           alert(ponto);       // Esta parte é só uma forma para eu manter o controle, para saber se o ponto corresponde a estrela clicada           });});

  OBS:
 
#star é o nome da div onde ficam as estrelas;
#full é a class que enche as estrelas;
#cada imagem de estrela possui um id,com uma pontuação diferente; 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Primeiro, você quer que cada usuário tenha um ranking próprio para cada post?, ou a média total?


Caso seja para cada post, segue a lógica que deve ser feita, em seu bd você deve criar uma tabela para combinações, chamaremos de 'COMB', nela referenciamos a id do user e a id do post, quando o usuario clicar sobre as estrelas, você deve fazer uma requisição no ajax, nela iremos fazer a busca no banco, verificamos se pra aquele post já existe uma linha referenciada ao usuário, se sim, retornamos o valor do ranking, se não, fazemos uma inserção no banco 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!