Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera existe algum meio que eu possa usar para saber automaticamente o tamanho da tela usando apenas javascript????
Eu sei como saber o tamanho da tela usando:
if (window.matchMedia("(max-width:800px)").matches) {
console.log('Menos que 800')
} else {
console.log('Mais que 800')
}
Ainda assim, preciso atualizar a pagina para conseguir obter o resultado, existe alguma maneira de fazer isso sem atualizar a página.Cara muito obrigado mesmo eu consegui desenvolver um código que pode fazer o que eu preciso o problema ta sendo que tá gerando um erro que é: Uncaught TypeError: Cannot read property 'matches' of undefined at mudaMenu at HTMLElement.onclick.
Não sei porquê isso acontece
Esse é meu código eu coloquei pra mudar a cor de fundo para que eu pudesse verificar quando a mudança na tela
function mudaMenu(x){
var menu = document.querySelector(".menu");
var content = document.querySelector(".content");
if (x.matches) {
document.body.style.backgroundColor = "yellow";
if(!menu.classList.contains("esconder-menu")){
menu.classList.add("esconder-menu");
setTimeout(function(){
content.style.marginLeft = "0px";
},400);
}else{
menu.classList.remove("esconder-menu");
menu.style.transition = '0.8s';
setTimeout(function(){
content.style.marginLeft = "240px";
},400);
}
}else{
document.body.style.backgroundColor = "pink";
}
}
var x = window.matchMedia("(max-width: 800px)")
mudaMenu(x)
x.addListener(mudaMenu)Talvez seja essa parte:
// Tente isso
if (x && x.matches)
// Ao invez disso
if (x.matches)
Acho que isso responde sua pergunta:
https://stackoverflow.com/questions/3437786/get-the-size-of-the-screen-current-web-page-and-browser-window