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.
Conectar-se

Esqueci minha senha

Últimos assuntos
» Aparencia do Fórum
Hoje à(s) 12:05 am por Taxy_InSaniTy

» Quadrado no Post
Ontem à(s) 09:49 pm por LeoziN_WallkeR

» Fundo da página em alta qualidade
Ontem à(s) 09:26 pm por Luiz

» Ranks para meu fórum
Ontem à(s) 09:20 pm por Eduardo Lima

» Quem está lendo este tópico?
Ontem à(s) 08:37 pm por Ketholy123

» Banneer de area nova animais silvestres
Ontem à(s) 07:31 pm por EDU2010

» aumentar largura
Ontem à(s) 07:21 pm por Luckcaddie

Instale agora o aplicativo Topic'it e acesse o suporte de Forumeiros pelo celular.
Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Quem está conectado
206 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 205 Visitantes :: 2 Motores de busca

L Mars

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em 24/12/09, 01:05 pm

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 22/11/15, 05:04 pm

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 23/11/15, 02:53 pm, editado 1 vez(es)
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 497
Pontos Ativos : 675

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por Hancki em 22/11/15, 06:54 pm

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 : 8043
Pontos Ativos : 12023

Ver perfil do usuário 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 22/11/15, 11:10 pm

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 : 497
Pontos Ativos : 675

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por Hancki em 23/11/15, 12:35 am

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 : 8043
Pontos Ativos : 12023

Ver perfil do usuário 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 23/11/15, 01:05 am

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 : 497
Pontos Ativos : 675

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em 23/11/15, 11:42 am

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 : 1434
Pontos Ativos : 2008

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em 23/11/15, 02:22 pm

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 : 497
Pontos Ativos : 675

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em 23/11/15, 02:25 pm

É 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 : 1434
Pontos Ativos : 2008

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em 23/11/15, 02:31 pm

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 : 497
Pontos Ativos : 675

Ver perfil do usuário http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em 23/11/15, 02:33 pm

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 : 1434
Pontos Ativos : 2008

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em 23/11/15, 02:39 pm

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 : 497
Pontos Ativos : 675

Ver perfil do usuário http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em 23/11/15, 02:48 pm

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 : 1434
Pontos Ativos : 2008

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

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MarcosSchultz em 23/11/15, 02:52 pm

Nossa, perfeito. Aprendi mais uma coisa Muito feliz

Muito obrigado!
avatar

MarcosSchultz
Usuário avançado

Masculino
Inscrito dia : 19/09/2014
Mensagens : 497
Pontos Ativos : 675

Ver perfil do usuário http://schultzgames.forumeiros.com/
  • 0

Resolvido Re: Como transformar widht=90% em pixels

Mensagem por MateusAnjosV em 23/11/15, 02:53 pm

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 : 1434
Pontos Ativos : 2008

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