Caixa de Entrada (gmail, hotmail, yahoo etc)

Galera,

vcs ja devem ter percebido que nesses emails citados acima existem algumas coisas em comum:

  1. Todo email não lido fica em negrito
  2. Toda ‘tabela’ que lista os emails possuem uma linha clicável

Pensando nisso, estou tentando imitir essas caracteristicas usando

Eu sei que posso fazer uma linha clicável graças DaniloAndrade e o ErickRAR.

<table>
 <tr onclick="location.href = 'http://www.site.com';" style="cursor: hand;">
  <td>Texto 1</td>
  <td>Texto 2</td>
 </tr>
</table>

O problema seria, como pegar o ID da mensagem que está na linha que foi clicada?
Outra coisa, como deixar em negrito? (lembrando q vou ter que ter um if para verificar se a mensagem foi ou nao lida)…

Ahh, outra coisa, geralmente eles abrem uma outra pagina mostrando o email que foi lido… Eu estava pensando em abrir
outra pagina por cima, como se fosse um pop up… Ou melhor, como se fosse um JINternalFrame. Sabem como que isto é possível?

?

Isso tudo que você está tendo de dúvida é facilmente resolvido por jquery. Colocando assim:

1°- cada <tr> de cada tabela de email consta com o ID do email:

&lt;table&gt; &lt;thead&gt; .... &lt;/thead&gt; &lt;tbody&gt; &lt;tr id="idDoEmailUnico1" class="eUmEmail a-numVisualizacao"&gt;&lt;/tr&gt; &lt;tr id="idDoEmailUnico2" class="eUmEmail a-numVisualizacao"&gt;&lt;/tr&gt; &lt;tr id="idDoEmailUnico3" class="eUmEmail a-numVisualizacao"&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;

a partir deste ponto você pode controlar isso tudo que você quer, vamos ver:

1° - idDoEmailUnico = id do email a ser lido, não existe um número igual correto?
2° - eUmEmail = você tem que saber se é um email para que seja aberto e lido, caso contrário, não abre pq não é um e-mail (logicamente :lol: )
3° - numVisualizacao = se for igual a 0, é um novo, caso contrário, já foi lido

O css para negritar a linha deve ser feito pelo identificador, então como somente o a-0 vai ser negrito, só criar o estilo para ele:

.a-0{font-weight: bold; color: green;}

No jquery você tem que capturar o email:

$('.eUmEmail').live('click', function(){ $email = $(this); if ($email.attr('class') == 'a-0'){ $email.removeClass('a-0').addClass('classNormalDaTabela'); //aqui você realiza um post e entra na mensagem } else { //realiza o mesmo post } })

é facil, é só usar um pouco de lógica e jquery que funciona :smiley:

uau, que legal…

obrigado. Eu nao tenho mta experiencia em JQuery.

Bom, vou tentar implementar…
Eu tinha feito uns

<c:choose>

para colocar em negrito. Só não tinha resolvido o problema de clicar na linha…
Aí eu adicionei uma coluna com um botão para o cara clicar…

mas acredito q sua ideia vai ser mto mto melhor.
vlww… vou tentar aqui e dou o feedback :slight_smile:
abraços