Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Duvida sobre um codigo

Abaixo coloco um codigo que estou com duvida na segunda parte do codigo vou deixar um comentario mostrando onde, se eu tenho meu @media que deixa o meu menu responsivo e a função click add a class para abrir o menu, porq usar o resize o codigo da parte de baixo? como faria isso?

 $(document).ready(function() {
        $(".mobile-btn").click(function() {
            $('.mobile-menu').toggleClass('active');
        })
    });
    $(window).resize(function() { // Nesta parte tenho duvida
        if ($(document).innerWidth() < 600) {

        } else {

        }
    });
3 respostas

@media, seria para especificar propriedades de estilo css que se aplicariam a cada largura de tela. O resize via javascript, pode ser util para aplicar estilos diferentes ao elemento, de acordo com a largura da tela.

neste caso eu poderia usar oque? de estilos diferentes via JS neste coddigo abaixo

$(window).resize(function() { // Nesta parte tenho duvida
        if ($(document).innerWidth() < 600) {

        } else {

        }
    });
solução!

Por exemplo, vamos supor que você crie duas versões de menu, uma para o mobile, outra para desktop. Ou você quer uma funcionalidade diferente para um carrossel, quando o usuário estiver no celular. Então você pode ocultar um elemento ou adicionar uma ação diferente de acordo com a tela.

$(window).resize(function() { // Nesta parte tenho duvida
        var divcarrossel = document.getElementById('meucarrossel');
        var menuLogoPlace = document.getElementById('meuMenuLogo');
        if ($(document).innerWidth() < 600) {
                divcarrossel.addEventListener('touchstart', funcaoStartTouch, false);
                divcarrossel.addEventListener('touchmove', funcaoStopTouch, false);
                menuLogoPlace.innerHTML = "<img src='versaoVerticalLogo.png'>";
        } else {
                divcarrossel.removeEventListener('touchstart', funcaoStartTouch, false);
                divcarrossel.removeEventListener('touchmove', funcaoStopTouch, false);
                menuLogoPlace.innerHTML = "<img src='versaoHorizontalLogo.png'>";
        }
    });

No exemplo acima, eu associei uma funcao ao toque (mobile) em um carrossel e a removi no desktop. Também exibi uma versão vertical do logo no mobile e uma horizontal no desktop.

Repare que só associei a função à ação, não existe no script a funcaoStartTouch e funcaoStopTouch. Também presumi que existem os elementos DIV chamados na função. Isso é um exemplo apenas. Também (por força do hábito) usei js puro no script.