Você não está conectado. Conecte-se ou registre-se

Melhorar JS Últimos Assuntos

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Melhorar JS Últimos Assuntos em Ter Maio 30, 2017 6:59 pm

Deywes

avatar
Membro


  • Descrição:

Detalhes da questão



Endereço do fórum: http://www.brasilplayultimate.com.br
Versão do fórum: PunBB

Descrição



Bom, eu tenho esse JS:
Código:
$(function () {
    $('.module.main:contains("Últimos assuntos") .main-content').attr('style', 'height: 280px;overflow: scroll;overflow-x: hidden;');
});
$(function() {
 $('head').append(
 '<style type="text/css">' +
 '.recentTopics .main-content {' +
 '  font-family: helvetica, arial, sans-serif !important;' +
 '  line-height: 15px;' +
 '  padding: 0;' +
 '}' +
 '.recentTopics ul {' +
 '  padding-left: 0 !important;' +
 '}' +
 '.mini_photo {' +
 '  margin-right: 5px;' +
 '}' +
 'li.recentPost {' +
 '  min-height: 50px;' +
 '  padding: 1em 1em 0.5em 1em;' +
 '  list-style-type: none;' +
 '  border-bottom: 1px solid #f3f3f3;' +
 '}' +
 '.recentPost a[href^="/t"] {' +
 '  font-size: 13.8px;' +
 '  text-decoration: none;' +
 '  font-weight: bold;' +
 '}' +
 '.recentInline {' +
 '  min-width: 30%;' +
 '  font-size: 12px;' +
 '  float: right;' +
 '}' +
 '.small_links {' +
 '  display: table;' +
 '  margin-top: 10px;' +
 '}' +
 '.local {' +
 '  font-size: 0;' +
 '}' +
 '.local a:after {' +
 '  content: " → ";' +
 '}' +
 '.local a:last-child:after {' +
 '  content: "";' +
 '}' +
 '.small_links, .small_links a {' +
 '  color: #a4a4a4 !important;' +
 '  font-size: 12px !important;' +
 '  text-decoration: none !important;' +
 '}' +
 '.creator_post:before {' +
 '  content: "Tópico iniciado por ";' +
 '}' +
 '.creator_post:after {' +
 '  content: ", Em: ";' +
 '}' +
 '.recentTopics {' +
 '  margin: 15px 0;' +
 '}' +
    ' #right {' +
    ' position: relative;' +
    ' top: -354px;' +
'}' +
    '</style>'
    );
    
    var jModuleRecentPosts = $('.module:contains("Últimos assuntos")');
    
    jModuleRecentPosts
    .remove() // Clonando widget de últimos assuntos
    .prependTo('#wrapper') // Inserindo no main-content
    .addClass('recentTopics') // Adicionando nova classe
    .removeClass('module'); // Removendo classe existente
    
    $('.recentTopics').each(function() {
          $(this).html(
                  $(this).html()
                    .replace(/\»/g, '')
                    .replace(/\<a href="\/t(.*?)\-/g,'<li class="recentPost"><a href="/t$1-')
                    .replace(/\<\/a\><br\>/g, '</a><div class="recentInline">')
                    .replace(/\<a href="\/u([0-9])"\>(.*?)<\/a\>/g, '<a href="/u$1">$2</a><br>')
          ).find('li').wrapAll('<ul></ul>');
         $('a[href^="/u"]', this).each(function() {
          var jLinkUser = $(this).attr('href');
          $(this).before(
          '<a href="' + jLinkUser + '" class="user_photo lastpost-avatar">' +
          '    <img src="http://r26.imgfast.net/users/2617/31/90/74/avatars/1-40.png" alt="no_photo" class="mini_photo" />' +
          '</a>'
          );
          var jImg = $(this).prev().find('img'),
                jUser = sessionStorage.getItem(jLinkUser);
          if(jUser) {
              jImg.attr('src', jUser);
          } else {
          $.ajax({
                  url: jLinkUser + "?change_version=punbb",
                  type: 'GET',
                  success: function(data) {
                    var jImage = $('#profile-advanced-right .module:first img:first', data).attr('src');
                          jImg.attr('src', jImage);
                          sessionStorage.setItem(jLinkUser, jImage);
                  },
                  error: function(err)
                  {
                    console.log("AJAX error in request (Last posts)");
                   }
          });
          }
      });
          $('a[href^="/t"]', this).each(function() {
              var jThis = $(this),
                    jLinkTpc = jThis.attr('href').split('#')[0];
               $.ajax({
                  url: jLinkTpc + "?change_version=punbb",
                  type: 'GET',
                  success: function(recent) {
                  var jCreator = '',
                        jLocal = $('.crumbs:first a.nav', recent).wrapAll('<div></div>').parent().html(),
                        jPaging = $('.paging', recent)[0];
                  jThis.parents('.recentPost').append(
                  '<div class="small_links">' +
                  '    <span class="creator_post">Carregando...</span>' +
                  '    <span class="local">' + jLocal + '</span>' +
                  '</div>'
                  ).find('a[href*="change_version"]').each(function() {
                    var jHref = $(this).attr('href').split('?')[0];
                    $(this).attr('href', jHref);
                  });
                  if(jPaging) {
                      jCreator = $('a:contains("1")', jPaging).attr('href');
                      jThis.parents('.recentPost').find('.creator_post').load(jCreator + ' .username:first', function() {
                            $(this).text($(this).text());
                      });
                  } else {
                      jCreator = $('.username:first', recent).text();
                      jThis.parents('.recentPost').find('.creator_post').text(jCreator);
                  }
                  },
                  error: function(err)
                  {
                     console.log("AJAX error in request (Last posts)");
                   }
          });
      });
 });
});

Gostaria de deixa-lo assim com essa parte assim: http://prntscr.com/fa22on
Informando quantas visualizações teve e quantas respostas, o tempo de quando o tópico foi criado poderia ficar em baixo do nome do usuário para economizar espaço.
Seria possível ?

  • Informações:



Fórum:www.brasilplayultimate.com.brVersão:PUNBB

Ver perfil do usuário

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

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