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

Estou com dúvida no curso de Web Design Responsivo, no exercício do capítulo Menu Responsivo.

Como escrever o seguinte código em jQuery.

5 respostas

primeiramente para recuperar o click do botão, você pode utilizar o seguine código

jQuery(selector).click() {
  // Evento do click do botão.
  // Adicionado as classname que precisar.
};

Para adicionar a class css:

jQuery(selector).addClass(classname,function(index,oldclass));

Qualquer dúvida: http://api.jquery.com/addclass/

Ao invés de escrever "jQuery", você pode escrever simplesmente "$". Ex.: $(".menu-abrir").click() { // Evento do click do botão. // Adicionado as classname que precisar. };

Não esquecer de baixar o jQuery e referenciá-lo na sua página (www.jquery.com).

Ao invés de escrever "jQuery", você pode escrever simplesmente "$". Ex.:

$(".menu-abrir").click() {
  // Evento do click do botão.
  // Adicionado as classname que precisar.
};

Não esquecer de baixar o jQuery e referenciá-lo na sua página (www.jquery.com).

solução!

Versão jQuery completa:

$('html').click(function(event){
    if (event.target === $('html')) {
        $('html').addClass('menu-ativo');
    }
});

(dá pra melhorar ainda extraindo o $('html') numa variavel)

Esse é o meu código:

$('.menu-abrir').on('click', function() {
    $('html').addClass('menu-ativo');
});

$('.menu-fechar').on('click', function() {
    $('html').removeClass('menu-ativo');
});

$('html').on('click', function(event) {
    if (event.target === document.documentElement) {
        $(this).removeClass('menu-ativo');
    }
});

Ele está funcionando normal. A unica coisa que eu não entendi foi o fato de não funcionar dentro do IF o $('html') ou $(this), funcionando somente o "document.documentElement". Gostaria que alguém me tirasse esta dúvida.