Fórum dos Fóruns

Fórum dos Fóruns Forumeiros

Welcome FdF Bem-vindo ao fórum de suporte Forumeiros  Muito feliz


Para aproveitar tudo o que o nosso fórum lhe oferece, agradecemos que se identifique, se já é nosso membro, ou que se junte à nossa comunidade, fazendo o seu registo.
Acesso rápido

Fóruns de suporte oficiais
Conectar-se

Esqueci minha senha

Últimos assuntos
» Personalizar Menu
Hoje à(s) 0:26 por YouTube3

» como ativo a opção contribuição no rodapé
Ontem à(s) 23:19 por joaopaulo98

» Ranks para meu fórum
Ontem à(s) 20:50 por William_iHarDz

» Banner....
Ontem à(s) 18:27 por GustavoDM11

» Adição de setas e menu dropdown ao widget
Ontem à(s) 18:08 por juleic1123

» Tradução dos mini-jogos
Ontem à(s) 18:07 por juleic1123

» Widget equipe online
Ontem à(s) 18:05 por [K]oke

Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Parceiros Forumeiros
Os membros mais ativos da semana
YouTube3
 

Quem está conectado
236 usuários online :: 8 usuários cadastrados, 1 Invisível e 227 Visitantes :: 2 Motores de busca

Claudio Arthur, Froozen, iPlayer, joaopaulo98, MateusAnjosV, Rafakimura, Tiger, YouTube3

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em Qui 24 Dez 2009 - 15:05

Como transformar widht=90% em pixels

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

Resolvido Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Dom 22 Nov 2015 - 19:04

Detalhes da questão


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

Descrição


Olá pessoal... estou trabalhando em uma espécie de chat para o meu fórum, cujo código é o seguinte:

Código:
$(function() {
$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000" width= "1200" height="350" name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

Bastante simples... Más tem um problema, a largura da tela é dada em pixels

Código:
width= "1200"

Tentei utilizar width=90%, más não da certo...

Então tentei outra abordagem, declarar uma variável para capturar a largura e fazer a porcentagem na mão, transformando tudo em pixels... e depois jogar os pixels na variável:

Código:
int width = screenSize.getWidth();
int largura = (90.0*width)/100.0;
$(function() {
$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000" width=largura height="350" name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

Más continua a dar errado.

Tentei assim também:

Código:
var largura = screen.width;
var larguraAplicada = (90*largura)/100;

$(function() {
$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000" width=larguraAplicada height="350" name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

E continua a dar errado...

Alguém saberia dizer como resolver o problema?


Última edição por MarcosSchultz em Seg 23 Nov 2015 - 16:53, editado 1 vez(es)
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por Hancki em Dom 22 Nov 2015 - 20:54

Olá!

Vou responder diretamente ao seu título neste tópico, que é "como transformar 90% (de largura) em pixels".

Matematicamente, 90% de 1000px = 900px.
Mas temos telas em que a largura pode rondar 1024px ou 1080px, ou 1376px... ou mesmo acima dos 2000px.

A questão aqui é usar a matemática para calcular a percentagem do valor da tela.
Mas para quê tudo isso?
Quando, nos códigos CSS, usamos percentagem (%), o próprio código reconhece o espaço da tela ou o espaço do elemento pai (ou seja, o elemento em que essa div/span está inserida).

Criei aqui um código rápido que nos dirá o valor de 90% da nossa resolução da tela. Execute o seguinte código na Consola do navegador, pressionando a tecla F12 e depois clicando na aba "Consola". No espaço para digitar, cole o código abaixo e pressione a tecla "Enter".
Código:
var largura = $(window).width();
console.log(largura);
var percentagem = '90';
var resultado = parseInt(largura) * 100 / parseInt(percentagem);
alert(resultado + 'px. Este é o valor de 90% dos pixeis de largura da sua janela.');

Acho que isto o pode ajudar.

Hancki
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8038
Pontos Ativos : 12008

http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://twitter.com/https://www.facebook.com/djtomoficial

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 1:10

O problema que estou encontrando é este:

se eu utilizar isto, funciona:

Código:
width=1600

Já se eu utilizar isto:

Código:
var largura = $(window).width();
console.log(largura);
var percentagem = '90';
var resultado = parseInt(largura) * 100 / parseInt(percentagem);

width=resultado

A janela fica com uns 400 px de largura sóhh... Não entendo por que
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por Hancki em Seg 23 Nov 2015 - 2:35

Também não sei onde possa estar o problema.
Pode ser uma div/span que esteja inserida noutra que não deixe aumentar/sobrepor o tamanho do elemento pai.
Não posso fazer muito mais face a isto :/

Hancki
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8038
Pontos Ativos : 12008

http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://twitter.com/https://www.facebook.com/djtomoficial

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 3:05

Más qual a diferença?

se eu usar widht=1600, funciona

se eu usar widht=screen.widht, não funciona

eu não estou passando um size apenas?
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em Seg 23 Nov 2015 - 13:42

Bom dia!

Eu confesso que estou com dificuldade em interpretar... mas veja:
Spoiler:
Obter 90% em px:
Código:
var t = $( window ).width();
var pt = 90;
var result = t * 100 / pt;
alert(result);
Exemplo de função:
Código:
var t = $( window ).width();
var pt = 90;
var result = t * 100 / pt;
if(result == 1498.888888888888889){
alert(result);  // ESSE RESULTADO É NO MEU CASO, TESTE ANTES VEJA E ALTERE O 1498.8888
}

Mas eu não entendo... porque width: 90% não dá certo? Não seria melhor solucionar esse erro?
avatar

MateusAnjosV
Membro do Fórum

Masculino
Inscrito dia : 16/10/2015
Mensagens : 1417
Pontos Ativos : 1978

http://ajuda.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 16:22

Esta que é a dúvida, por que o 90% não da certo...

Este é o código:

Código:
var t = $( window ).width();
var pt = 90;
var result = t * 100 / pt;

$(function() {
$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000"
width=result
height=350
name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

Más por algum motivo, o width só aceita pixels... se eu colocar do jeito que está, com uma variável, o seu tamanho vai para 400 e poucos pixels sempre
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em Seg 23 Nov 2015 - 16:25

É que você aplicou de forma errônea, troque por esse:
Código:
$(function() {
var t = $( window ).width();
var pt = 90;
var result = t * 100 / pt;

$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000"
width='+result+'
height=350
name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

Feliz
avatar

MateusAnjosV
Membro do Fórum

Masculino
Inscrito dia : 16/10/2015
Mensagens : 1417
Pontos Ativos : 1978

http://ajuda.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 16:31

Desta vez acontece o mesmo efeito de utilizar o comando "90%"

A largura fica em 90% más a altura distorce. Tipo, se 90% corresponde a 1500px, e eu colocar 1500px, fica 100%. Más se eu colocar 90%, a altura distorce
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em Seg 23 Nov 2015 - 16:33

Eu não entendi... explique melhor, por gentileza. É fato que se modificar a largura terá efeitos na altura, o que deseja exatamente? Pois, a questão em si era para transformar width % em pixels, fizemos, agora qual é a questão?

avatar

MateusAnjosV
Membro do Fórum

Masculino
Inscrito dia : 16/10/2015
Mensagens : 1417
Pontos Ativos : 1978

http://ajuda.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 16:39

Ok, explicarei passo a passo Muito feliz

Este é o código:

Código:
$(function() {
var result = ($( window ).width() * 90) / 100;
$('#main-content').before('

<br/>
<center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000"
width=1440
height=350
name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>

');
});

utilizando estes 2 comandos

Código:
width=1440
height=350

funciona perfeitamente, conforme a imagem abaixo mostra



Já se eu utilizar estes comandos:

Código:
width='+result+'
height=350
ou
Código:
width=90%
height=350


Da errado, conforme a imagem abaixo mostra.



E isto tudo sendo que 1440 é exatamente a mesma coisa que 90% na minha tela. Não deveria funcionar normalmente?
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em Seg 23 Nov 2015 - 16:48

Entendi de forma perfeita agora!
Substitua por este:
Código:
$(function() {
var result = $( window ).width() * 90 / 100;
$('#main-content').prepend('<br/><center>
<embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" bgcolor="#000000"
id="chat"
height=350
name="chat" FlashVars="id=216020516&gn=schultzgames" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br><small></small><br>
</center>');
$('#chat').attr('width', result);
});
avatar

MateusAnjosV
Membro do Fórum

Masculino
Inscrito dia : 16/10/2015
Mensagens : 1417
Pontos Ativos : 1978

http://ajuda.forumeiros.com/

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em Seg 23 Nov 2015 - 16:52

Nossa, perfeito. Aprendi mais uma coisa Muito feliz

Muito obrigado!
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 485
Pontos Ativos : 655

http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em Seg 23 Nov 2015 - 16:53

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.

Tópico marcado como Resolvido e movido para "Questões resolvidas".
avatar

MateusAnjosV
Membro do Fórum

Masculino
Inscrito dia : 16/10/2015
Mensagens : 1417
Pontos Ativos : 1978

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