Boas-vindas ao Power Pixel

Junte-se a comunidade! Crie o seu próprio conteúdo, e faça amizades.EntrarCriar uma conta

Funções adicionais

3 participantes

D'Leandro™ D'Leandro™  • Qui 30 Out 2014 - 16:42

Funções adicionais Empty Funções adicionais Qui 30 Out 2014 - 16:42

Minha questão:
Olá galera, gostaria de pedir algumas funções, primeiro veja a imagem!
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Em vermelho vemos o número 500, eu gostaria que exiba o número de visualizações que aquele tópico tem.
Em azul temos um botão para curtir, logo irá mostrar quantas curtidas o tópico tem, e também terá um widget que irá informar os 5 tópicos mais curtidos, com o link do tópico e o número de curtidas.
Em roxo eu gostaria que informe o nome dos usuários que estão online naquele tópico ou que estiveram online no mesmo dia.

Código atual:
Código:
<div style="border: 1px solid #ddd; padding: 7px; background: #fbfbfb; margin-top: 5px; margin-bottom: 5px !important;">
        <div id="stats" style="border-radius: 3px !important; margin-bottom: 7px !important;">
                  <p class="right"><img src="http://i56.servimg.com/u/f56/17/71/75/73/icon_u10.png" style="display: inline; margin-top: -3px;"/>&nbsp;<a title="Receba as novidades por e-mail" href="?watch=topic">Supervisionar</a> ou <a title="Não receber as notificações" href="?unwatch=topic">Parar</a></p>
                  <b>Tópico:</b> <a id="titulo-do-topico" href="{TOPIC_URL}">{TOPIC_TITLE}</a>
  </div>
        <div id="onlinelist" class="pun-crumbs" style="border: 1px solid #dbe4ef; margin: 0px !important;">
                  <p><b>Permissão deste fórum:</b><br />{S_AUTH_LIST}</p><br/>
                  <p><b>Diretório deste fórum:</b><br/><strong><a href="{U_INDEX}">Fóruns</a>{NAV_CAT_DESC}</strong></p>
      </div>
</div>

O widget é importante, tem como fazer? Aguardo...


Endereço do meu fórum:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Versão:
PunBB


Última edição por D'Leandro™ em Qua 5 Nov 2014 - 18:37, editado 1 vez(es)

D'Leandro™ D'Leandro™  • Dom 2 Nov 2014 - 21:21

Funções adicionais Empty Re: Funções adicionais Dom 2 Nov 2014 - 21:21

Dezenove caracteres são necessários para enviar um up?

[F]lames [F]lames  • Qua 5 Nov 2014 - 18:56

Funções adicionais Empty Re: Funções adicionais Qua 5 Nov 2014 - 18:56

Reputação da mensagem: 100% (1 votos)
Olá,

Conforme o que me falou no chatbox, altere o código para este:
Código:
<div style="border: 1px solid #ddd; padding: 7px; background: #fbfbfb; margin-top: 5px; margin-bottom: 5px !important;">
        <div id="stats" style="border-radius: 3px !important; margin-bottom: 7px !important;">
                  <p class="right"><img src="http://i56.servimg.com/u/f56/17/71/75/73/icon_u10.png" style="display: inline; margin-top: -3px;"/>&nbsp;<a title="Receba as novidades por e-mail" href="?watch=topic">Supervisionar</a> ou <a title="Não receber as notificações" href="?unwatch=topic">Parar</a></p>
                  <b>Tópico:</b> <a id="titulo-do-topico" href="{TOPIC_URL}">{TOPIC_TITLE}</a>
  </div>
        <div id="onlinelist" class="pun-crumbs" style="border: 1px solid #dbe4ef; margin: 0px !important;">
                  <p><span class="visualizations"><b></b><br>Visualizações</span><b>Permissão deste fórum:</b><br />{S_AUTH_LIST}</p><br/>
                  <p><span class="likethis"><a href="#">Curtir</a></span><b>Diretório deste fórum:</b><br/><strong><a href="{U_INDEX}">Fóruns</a>{NAV_CAT_DESC}</strong></p>
      </div>
</div>

Adicione isso em teu CSS (se quiser colocar no código acima entre tags style, sinsta-se livre):
Código:
.visualizations, .likethis {
  display: inline-block;
  float: right;
  text-align: center;
  width: 90px;
}
.likethis {
  margin-top: 5px;
}
.likethis > a {
  background-color: #225985;
  border: 1px solid #1A4B71;
  border-radius: 3px;
  color: white !important;
  display: inline-block;
  font-weight: bold;
  padding: 2px 10px;
}

E crie um JS com este conteúdo, investimento nos tópicos:
Código:
jQuery(window).ready(function() {
  if(_userdata.username !== jQuery('.post:first').find('.post_username span[itemprop="name"]').text()) {
    jQuery('.post:first').each(function() {
      try {
        var link = jQuery(this).find('.vote .vote-button a[href*="eval=plus"]').attr('href');
        jQuery('#onlinelist').find('.likethis a').attr('href', link);
      } catch(e) {
        jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
      }
    });
  } else {
    jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
  }
  jQuery.get(jQuery('#onlinelist').find('.likethis').closest('p').find('strong').find('a:last').attr('href'), function(data) {
    var id = jQuery('#stats #titulo-do-topico').attr('href').split('-')[0].split('t')[1];
    var vis = jQuery('.main.paged .main-content table.table', data).find('a.topictitle[href^="/t'+id+'-"]').closest('tr').find('.tc3#vier_ws .response_counter').text();
    jQuery('#onlinelist').find('.visualizations b').text(vis);
  });
});

Passar bem!

D'Leandro™ D'Leandro™  • Qua 5 Nov 2014 - 19:47

Funções adicionais Empty Re: Funções adicionais Qua 5 Nov 2014 - 19:47

PS: cara ele aparece com curtido quando eu sou o dono do tópico, mas depois de curtir ele continua "curtir"
PS: tem como colocar vírgula quando o número for a cima de 4 dígitos? ( 18,353 )

[F]lames [F]lames  • Qua 5 Nov 2014 - 21:06

Funções adicionais Empty Re: Funções adicionais Qua 5 Nov 2014 - 21:06

Olá,

Altere o JS para este:
Código:
jQuery(window).ready(function() {
  if(_userdata.username !== jQuery('.post:first').find('.post_username span[itemprop="name"]').text()) {
    jQuery('.post:first').each(function() {
      if(jQuery(this).find('.vote .vote-button a[href*="eval=plus"]').length) {
        var link = jQuery(this).find('.vote .vote-button a[href*="eval=plus"]').attr('href');
        jQuery('#onlinelist').find('.likethis a').attr('href', link);
      } else {
        jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
      }
    });
  } else {
    jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
  }
  jQuery.get(jQuery('#onlinelist').find('.likethis').closest('p').find('strong').find('a:last').attr('href'), function(data) {
    var id = jQuery('#stats #titulo-do-topico').attr('href').split('-')[0].split('t')[1];
    var vis = jQuery('.main.paged .main-content table.table', data).find('a.topictitle[href^="/t'+id+'-"]').closest('tr').find('.tc3#vier_ws .response_counter').text();
    jQuery('#onlinelist').find('.visualizations b').text(vis);
  });
});

Colocar a vírgula eu não consegui, desculpe.

Passar bem!

D'Leandro™ D'Leandro™  • Qua 5 Nov 2014 - 22:28

Funções adicionais Empty Re: Funções adicionais Qua 5 Nov 2014 - 22:28

Então blz, já agradeci no código anterior. Vlw vc é fod@

JScript JScript  • Qui 6 Nov 2014 - 23:58

Funções adicionais Empty Re: Funções adicionais Qui 6 Nov 2014 - 23:58

[F]lames escreveu:Colocar a vírgula eu não consegui, desculpe.
Aqui está um exemplo de função:
Código:

console.clear();

// @ add commma, made by JScript - 11/06/2014
function addComma(iValue) {
    iValue = iValue.replace(/\D/g, "")
        .replace(/(\d)(\d{3})$/, "$1.$2")
        .replace(/(\d)(\d{6})$/, "$1.$2")
        .replace(/(\d)(\d{8})$/, "$1,$2");
    return iValue;
}

console.log( addComma(18353) );
Execute no navegador para ver o efeito!

JS

D'Leandro™ D'Leandro™  • Sex 7 Nov 2014 - 21:44

Funções adicionais Empty Re: Funções adicionais Sex 7 Nov 2014 - 21:44

JScript escreveu:
[F]lames escreveu:Colocar a vírgula eu não consegui, desculpe.
Aqui está um exemplo de função:
Código:

console.clear();

// @ add commma, made by JScript - 11/06/2014
function addComma(iValue) {
    iValue = iValue.replace(/\D/g, "")
        .replace(/(\d)(\d{3})$/, "$1.$2")
        .replace(/(\d)(\d{6})$/, "$1.$2")
        .replace(/(\d)(\d{8})$/, "$1,$2");
    return iValue;
}

console.log( addComma(18353) );
Execute no navegador para ver o efeito!

JS

Eu não sei faze isto '-'

[F]lames [F]lames  • Sáb 8 Nov 2014 - 16:15

Funções adicionais Empty Re: Funções adicionais Sáb 8 Nov 2014 - 16:15

Olá!

Para obter o resultado desejado com a vírgula no número, troque o JS para este:
Código:
// @ add commma, made by JScript - 11/06/2014
function addComma(iValue) {
iValue = iValue.replace(/\D/g, "").replace(/(\d)(\d{3})$/, "$1.$2").replace(/(\d)(\d{6})$/, "$1.$2").replace(/(\d)(\d{8})$/, "$1,$2");
return iValue;
}
jQuery(window).ready(function() {
  if(_userdata.username !== jQuery('.post:first').find('.post_username span[itemprop="name"]').text()) {
    jQuery('.post:first').each(function() {
      if(jQuery(this).find('.vote .vote-button a[href*="eval=plus"]').length) {
        var link = jQuery(this).find('.vote .vote-button a[href*="eval=plus"]').attr('href');
        jQuery('#onlinelist').find('.likethis a').attr('href', link);
      } else {
        jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
      }
    });
  } else {
    jQuery('#onlinelist').find('.likethis').html('<b>Curtido</b>');
  }
  jQuery.get(jQuery('#onlinelist').find('.likethis').closest('p').find('strong').find('a:last').attr('href'), function(data) {
    var id = jQuery('#stats #titulo-do-topico').attr('href').split('-')[0].split('t')[1];
    var vis = jQuery('.main.paged .main-content table.table', data).find('a.topictitle[href^="/t'+id+'-"]').closest('tr').find('.tc3#vier_ws .response_counter').text();
    jQuery('#onlinelist').find('.visualizations b').text(addComma(vis));
  });
});

Passar bem!

D'Leandro™ D'Leandro™  • Sáb 8 Nov 2014 - 16:44

Funções adicionais Empty Re: Funções adicionais Sáb 8 Nov 2014 - 16:44

Como eu coloco esta função em todos os números do fórum? Incluindo números maiores. (Ex: 1,000,000,000)

Conteúdo patrocinado  • 

Funções adicionais Empty Re: Funções adicionais

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