Sistema de reputação

2 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Sistema de reputação

Mensagem por Hygor-David 16.03.14 18:58

Qual é minha questão:
Olá gostaria de adicionar outros níveis no sistema de reputação

Eu quero assim

-10 - Horrível ( Com cor VERMELHO )
-5 - Ruim ( Com cor VERMELHO )
0 - Neutro
5 - Iniciante
15 - Bom
20 - Muito Bom
30 - Ótimo
50 - Excelente
70 - Profissional

Meu código é
Código:
$(document).ready(function() {
$(".pun .post .user").each(function(){
$(this).html($(this).html().replace(/<span class="label/g,'<dd><div class="post_field"><span class="label'));
});
$('.user-info .post_field:contains("Reputação")').each(function() {
var rep = $(this).text().match(/\d+/g);
$(this).addClass('reputation');
$(this).append('<span class="title" style="font-weight:normal"></span>');
if(rep == 0) {
        $(this).find('.title').text('Neutro');
        $(this).addClass('zero');
}
else if(rep >= 1 && rep < 5) {
        $(this).find('.title').text('Iniciante');
}
else if(rep >= 5 && rep < 10) {
        $(this).find('.title').text('Membro ativo');
}
else if(rep >= 10) {
        $(this).find('.title').text('Excelente');
}
});
});


Endereço do meu fórum:
http://dayzstandalonebrasil.com

Versão do fórum:
PUNBB


Última edição por Hygor-David em 22.03.14 3:12, editado 1 vez(es)
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 17.03.14 13:36

Olá,

Tente esse:

Código:
$(document).ready(function() {

   $(".pun .post .user").each(function(){
      $(this).html($(this).html().replace(/<span class="label/g,'<dd><div class="post_field"><span class="label'));
   });
   
   $('.user-info .post_field:contains("Reputação")').each(function() {
      var self, rep, title;
      
      self = $(this);
      rep = self.text().match(/\d+/g);
      title = self.find('.title')
      
      self.addClass('reputation');
      self.append('<span class="title" style="font-weight:normal"></span>');
      
      
      if (rep <= -10) {
         title.text('Horrível');
         self.addClass('negative');
      } else if (rep <= -5) {
         title.text('Ruim');
         self.addClass('negative');
      } else if (rep <= 0) {
         title.text('Neutro');
         self.addClass('zero');
      } else if(rep <= 5) {
         title.text('Iniciante');
      } else if(rep <= 15) {
         title.text('Bom');
      } else if(rep <= 20) {
         title.text('Muito Bom');
      } else if(rep <= 30) {
         title.text('Ótimo');
      } else if(rep <= 50) {
         title.text('Excelente');
      } else if(rep > 70) {
         title.text('Profissional');
      }
   });
});

E adicione esse CSS:

Código:
.reputation.negative {
   background: #f00 !important;
}

Abraços. Feliz
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Hygor-David 18.03.14 2:26

Olá amigo, ficou assim, fiz tudo o que disse.

Sistema de reputação PpGidn7
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 18.03.14 14:30

Acho que foi erro meu...

Tente trocar o Javascript por esse:

Código:
$(document).ready(function() {

  $(".pun .post .user").each(function(){
      $(this).html($(this).html().replace(/<span class="label/g,'<dd><div class="post_field"><span class="label'));
  });
 
  $('.user-info .post_field:contains("Reputação")').each(function() {
      var self, rep, title;
     
      self = $(this);
      rep = self.text().match(/\d+/g);
      title = self.find('.title');
     
      self.addClass('reputation');
      self.append('<span class="title" style="font-weight:normal"></span>');
     
     
      if (rep <= -10) {
        title.text('Horrível');
        self.addClass('negative');
      } else if (rep <= -5) {
        title.text('Ruim');
        self.addClass('negative');
      } else if (rep <= 0) {
        title.text('Neutro');
        self.addClass('zero');
      } else if(rep <= 5) {
        title.text('Iniciante');
      } else if(rep <= 15) {
        title.text('Bom');
      } else if(rep <= 20) {
        title.text('Muito Bom');
      } else if(rep <= 30) {
        title.text('Ótimo');
      } else if(rep <= 50) {
        title.text('Excelente');
      } else if(rep > 70) {
        title.text('Profissional');
      }
  });
});

Estava faltando um ponto e vírgula.

Abraços. Feliz
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Hygor-David 19.03.14 16:25

Agora fico assim.

Sistema de reputação G1sNGAk
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 19.03.14 16:38

Tente esse:

Código:
$(function() {
 
  $('.user-info .post_field:contains("Reputação")').each(function() {
      var self, rep, title;
     
      self = $(this);
      rep = parseInt(self.text().replace(/[^\d]*/g, ''));
      title = self.find('.title')
     
      self.addClass('reputation');
      self.append('<span class="title" style="font-weight:normal"></span>');
     
     
      if (rep < -5) {
        title.text('Horrível');
        self.addClass('negative');
      } else if (rep < 0) {
        title.text('Ruim');
        self.addClass('negative');
      } else if (rep < 5) {
        title.text('Neutro');
        self.addClass('zero');
      } else if(rep < 15) {
        title.text('Iniciante');
      } else if(rep < 20) {
        title.text('Bom');
      } else if(rep < 30) {
        title.text('Muito Bom');
      } else if(rep < 50) {
        title.text('Ótimo');
      } else if(rep < 70) {
        title.text('Excelente');
      } else if(rep >= 70) {
        title.text('Profissional');
      }
  });
});

Abraços. Feliz
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Hygor-David 19.03.14 19:40

Fico assim novamente, https://i.imgur.com/PpGidn7.png
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 19.03.14 20:26

Errei novamente. :B

Código:
$(function(){  
  $('.user-info .label:contains("Reputação")').each(function() {
      var self, rep, text, title;
      
      self = $(this);
      text = self[0].nextSibling;
      rep = parseInt(text.textContent.replace(/[^\d]*/g, ''));      
      self.addClass('reputation');
      self.append('<span class="title" style="font-weight:normal">' + rep + '<br /></span>');
      title = self.find('.title');
      
      if (rep < -5) {
         title.html(title.html() + 'Horrível');
         self.addClass('negative');
      } else if (rep < 0) {
         title.html(title.html() + 'Ruim');
         self.addClass('negative');
      } else if (rep < 5) {
         title.html(title.html() + 'Neutro');
         self.addClass('zero');
      } else if(rep < 15) {
         title.html(title.html() + 'Iniciante');
      } else if(rep < 20) {
         title.html(title.html() + 'Bom');
      } else if(rep < 30) {
         title.html(title.html() + 'Muito Bom');
      } else if(rep < 50) {
         title.html(title.html() + 'Ótimo');
      } else if(rep < 70) {
         title.html(title.html() + 'Excelente');
      } else if(rep >= 70) {
         title.html(title.html() + 'Profissional');
      }
      
      text.parentNode.removeChild(text);
  });
});


Última edição por Kyo Panda em 20.03.14 15:46, editado 2 vez(es)
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Hygor-David 19.03.14 23:10

Bom amigo não sei o que está acontecendo mais fico novamente do mesmo jeito da imagem anterior.
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 20.03.14 14:21

Verifiquei o JS do seu fórum e o mesmo não foi atualizado com esse último que postei. Teria como verificar?
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Hygor-David 20.03.14 14:32

Eu coloquei de novo. o último código que você posto
Hygor-David

Hygor-David
***

Membro desde : 28/12/2013
Mensagens : 136
Pontos : 226

http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Ir para o topo Ir para baixo

Tópico resolvido Re: Sistema de reputação

Mensagem por Kyo Panda 20.03.14 14:36

Agora sim. Mas ainda há um script bugando tudo. Que é este:

Código:
$(document).ready(function(){$(".pun .post .user").each(function(){$(this).html($(this).html().replace(/<span class="label/g,'<dd><div class="post_field"><span class="label'))});$('.user-info .post_field:contains("Reputação")').each(function(){var rep=$(this).text().match(/\d+/g);$(this).addClass('reputation');$(this).append('<span class="title" style="font-weight:normal"></span>');if(rep==0){})});

Procure ele em seus Javascript e elimine-o. Feliz
Kyo Panda

Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos