Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anne Somensi

Sub-menu do menu drop down some com o mouse em cima

Recommended Posts

Olá, pessoal.

Sei que o problema já foi explorado, porém até agora não encontrei uma solução definitiva para o problema.

Outro usuário teve o mesmo problema. A única resposta da página parece ser a solução, porém não sei de que forma APLICAR essa solução.

 

A resposta do usuário André Campos foi a seguinte:

 

 

O efeito para mostrar o menu está duplicado, sendo que tem o :hover no CSS, e a mesma coisa no jQuery. É esperado que algo assim acontecesse.

Escolha por 1 caminho apenas.

PS.: no jQuery, pode resumir para "slideToggle".
PS.: use o .stop() para não "bugar" seu efeito.

 

Porém... como faço para usar apenas um caminho? Ou melhor, usar apenas o CSS?

 

Muito obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perceba o efeito hover duplicado:

Caminho 1 (jQuery)

$("#menu ul li").hover(function(){
[...]


Caminho 2 (CSS)

#menu ul li:hover > ul {
[...]


Utilize um ou outro para produzir o evento. E sobre o Toggle e o stop(), lê na API do jQuery, é simples.
:seta: http://api.jquery.com/slideToggle/
:seta: http://api.jquery.com/stop/



O código é igual também? Se não, mesmo que semelhante, poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Muito obrigada por responder.

 

Porém, não vejo onde o efeito possa estar duplicado no meu caso:

/*----- MBT Drop Down Menu ----*/
#mbtnavbar {
    background: #32cd32;
    width: 780px;
    color: #32cd32; 
        margin: 0px;
        padding: 0px;
        position: relative;
        border-top:0px solid #32cd32; 
        height:20px;
        left:-30px;
}
#mbtnav {
    margin: 0;
    padding: 0;
}
#mbtnav ul {
    float: left;
    list-style: none;
    margin: 0;
    padding: 0;
}
#mbtnav li {
    list-style: none;
    margin: 0;
    padding: 0;
        border-left:0px solid #dcdcdc; 
        border-right:0px solid #dcdcdc; 
        height:30px;
}
#mbtnav li a, #mbtnav li a:link, #mbtnav li a:visited {
    color: #000000; 
    display: block;
   font:normal 12px Verdana, sans-serif;
   margin: 0;
    padding: 9px 12px 10px 12px;
        text-decoration: none;
      
}
#mbtnav li a:hover, #mbtnav li a:active {
    background: #dcdcdc; 
    color: #000000; 
    display: block;
    text-decoration: none;
        margin: 0;
    padding: 9px 12px 10px 12px;
      
}
#mbtnav li {
    float: left;
    padding: 0;
}
#mbtnav li ul {
    z-index: 9999;
    position: absolute;
    left: -999em;
    height: auto;
    width: 120px; 
    margin: 0;
    padding: 0;
}
#mbtnav li ul a {
    width: 140px;
}
#mbtnav li ul ul {
    margin: -25px 0 0 161px;
}
#mbtnav li:hover ul ul, #mbtnav li:hover ul ul ul, #mbtnav li.sfhover ul ul, #mbtnav li.sfhover ul ul ul {
    left: -999em;
}
#mbtnav li:hover ul, #mbtnav li li:hover ul, #mbtnav li li li:hover ul, #mbtnav li.sfhover ul, #mbtnav li li.sfhover ul, #mbtnav li li li.sfhover ul {
    left: auto;
}
#mbtnav li:hover, #mbtnav li.sfhover {
    position: static;
}
#mbtnav li li a, #mbtnav li li a:link, #mbtnav li li a:visited {
    background: #dcdcdc; 
    width: 120px; 
    color: #000000; 
    display: block;
    font:normal 11px Verdana, sans-serif;
    margin: 0;
    padding: 9px 12px 10px 12px; 
        text-decoration: none;
z-index:9999;
border-bottom:1px dotted #333;
  
}
#mbtnav li li a:hover, #mbtnavli li a:active {
    background: #FFF; 
    color: #32cd32; 
    display: block;
    margin: 0;
    padding: 9px 12px 10px 12px;
        text-decoration: none;

Por favor, me ajude. Realmente gostaria de entender, porque o sub-menu Drop Down some ao passar o mouse por cima.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Teste</title>

<style>

* {

border: none;

padding: 0;

margin: 0;

list-style: none;

}

#mbtnavbar {

background: #32cd32;

width: 780px;

color: #32cd32;

margin: 0 auto;

height: 30px;

}

#mbtnav {

text-align: center;

}

#mbtnav > ul {

display: inline-block;

text-align: left;

}

#mbtnav > ul > li {

float: left;

height: 30px;

}

#mbtnav li a {

color: #000;

display: block;

font: normal 12px/30px Verdana, sans-serif;

padding: 0 12px;

text-decoration: none;

}

#mbtnav li:hover > a {

background: #dcdcdc;

}

#mbtnav li ul {

z-index: 1;

position: absolute;

display: none;

width: 140px;

}

#mbtnav li ul ul {

margin: -31px 0 0 140px;

}

#mbtnav li:hover > ul {

display: inline-block;

}

#mbtnav li li a {

background: #dcdcdc;

font: normal 11px/30px Verdana, sans-serif;

border-bottom: 1px dotted #333;

}

#mbtnav li li a:hover{

background: #FFF;

color: #32cd32;

}

 

</style>

</head>

 

<body>

<div id="mbtnavbar">

<div id="mbtnav">

<ul>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li>

<a href="" title="Lorem ipsum">Lorem ipsum</a>

<ul>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li>

<a href="" title="Lorem ipsum">Lorem ipsum</a>

<ul>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li>

<a href="" title="Lorem ipsum">Lorem ipsum</a>

<ul>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

</ul>

</li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

</ul>

</li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

</ul>

</li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

<li><a href="" title="Lorem ipsum">Lorem ipsum</a></li>

</ul>

</div>

</div>

</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Anne Somensi

 

 

#mbtnav li:hover ul ul, #mbtnav li:hover ul ul ul, #mbtnav li.sfhover ul ul, #mbtnav li.sfhover ul ul ul { left: -999em; }

 

-999em vai pra bem longe.

Coloque um valor diferente nessa parte. se persistir poste o html e css do seu menu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crf_h0m3r, não entendi o "spoiler" que o usuário André postou.

 

Marcos Xavier, já tentei mudar e infelizmente não consegui nada. Já publiquei o código. O site é este. Veja na aba "Serviços".

 

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, mas... não entendi nada. =/

Ele fez o menu se baseando no seu código CSS postado, para que você teste. Só.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crf_h0m3r, não entendi o "spoiler" que o usuário André postou.

 

Marcos Xavier, já tentei mudar e infelizmente não consegui nada. Já publiquei o código. O site é este. Veja na aba "Serviços".

 

Obrigada.

 

1º erro: #mbtnavbar com "height:20px";

2º erro: #mbtnav li com "height:30px";

3º erro: muito código CSS sobrando, sendo que no site consta apenas um primeiro nível de submenu, diferente dos vários níveis que o código CSS sugere. Faça uma limpa no seu código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, está ficando cada vez mais confuso.

Vou desistir da ideia.

Obrigada.

 

Não desista! Aprendizado é assim mesmo! Para alguns pode ser mais complicado, mas não perca o foco, beleza?

 

Sendo mais detalhado, os erros que apontei parecem estar presentes no arquivo principal do blog (ou no arquivo de estilo -CSS- que está sendo incluído no topo dele), nas linhas 510 e 531. Basta remover estes atributos de altura (height), que deve voltar a funcionar. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

André... eu tentei com o novo código que você me passou.

Mas estou achando que é perseguição, rssss.

Dá uma olhada neste site teste. Olhe a barra superior e a inferior.

Na barra superior, tente correr o mouse até o título 9, passando por todos os títulos. Conseguiu?

Agora vá na barra inferior. Veja que o subtítulo 2 abre em outros subtítulos, algo que não acontece com a barra superior, sendo que é o mesmo código.

 

Percebe minha frustração?

Obrigada por tentar ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Anne, no caso do menu superior, o problema ocorre por divergência de atributos z-index. O z-index (que recebe valores unitários) serve pra organizar em forma de camadas (sendo que o de maior valor irá aparecer a frente do de menor valor) os elementos com posicionamento absoluto.

 

Veja que a caixa escrita "Nenhuma postagem.", e que recebe a classe ".status-msg-body" possui z-index de valor igual a 4. Este valor é superior ao do submenu, que parece estar com 1 ou default.

 

 

Já no rodapé, o menu sofre modificações vindas de outros arquivos CSS. O espaçamento ("padding: .25em 0" e "padding: 0 0 0 1.25em"), por exemplo, vem do arquivo 1158881256-widget_css_2_bundle.css

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi!

Poxa, muito obrigada por me explicar e não se irritar com a novata aqui, rsss.

Vou estudar os códigos aqui e fazer inúmeros testes. Espero conseguir!!

Qualquer coisa entro em contato novamente!!!

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.