Sistema de reputação

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

Resolvido Sistema de reputação

Mensagem por Hygor-David em 16/03/14, 03:58 pm

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, 12:12 am, editado 1 vez(es)
avatar

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 17/03/14, 10:36 am

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
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: Sistema de reputação

Mensagem por Hygor-David em 17/03/14, 11:26 pm

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

avatar

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 18/03/14, 11:30 am

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
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: Sistema de reputação

Mensagem por Hygor-David em 19/03/14, 01:25 pm

Agora fico assim.

avatar

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 19/03/14, 01:38 pm

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
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: Sistema de reputação

Mensagem por Hygor-David em 19/03/14, 04:40 pm

Fico assim novamente, http://i.imgur.com/PpGidn7.png
avatar

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 19/03/14, 05:26 pm

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, 12:46 pm, editado 2 vez(es)
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: Sistema de reputação

Mensagem por Hygor-David em 19/03/14, 08:10 pm

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

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 20/03/14, 11:21 am

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

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: Sistema de reputação

Mensagem por Hygor-David em 20/03/14, 11:32 am

Eu coloquei de novo. o último código que você posto
avatar

Hygor-David
Nível 8

Masculino
Inscrito dia : 28/12/2013
Mensagens : 136
Pontos Ativos : 226

Ver perfil do usuário http://dayzstandalonebrasil.livreforum.com/ https://www.facebook.com/www.facebook.com/HygorDavid https://twitter.com/www.twitter.com/HygorDavid

Resolvido Re: Sistema de reputação

Mensagem por Kyo Panda em 20/03/14, 11:36 am

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
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

Ver perfil do usuário http://ajuda.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum