2013-03-13 3 views
0
<div id='container'> 
    <div id="animate"></div> 
</div> 

У меня есть небольшой div внутри большого div с контейнером id. Я хочу скрыть div с id анимацией, если кто-то наведет верхнюю часть маленького div. он должен оставаться открытым, когда мышь находится над маленьким div.Спрятать div на зависании вне div

+1

ли 'animate' скрыты по умолчанию? – dfsq

+1

Я предполагаю, что «маленький div» является #animate div? –

+0

StackOverflow не подходит для этого вопроса. Мы не пишем ваш код для вас. Вам нужно сделать свое собственное кодирование, и если вы не знаете, почему что-то не работает должным образом, отправьте код с объяснением того, что вы ожидаете от него, и тем, что он на самом деле делает, включая все сообщения об ошибках. См. [About StackOverflow] (http://stackoverflow.com/about). –

ответ

0

Вы можете достичь того же эффекта с чистым CSS:

#animate { 
    -webkit-transition: opacity 0.2s; 
    -moz-transition: opacity 0.2s; 
    transition: opacity 0.2s; 
} 

#container:hover #animate { 
    opacity: 0; 
} 

#container #animate:hover { 
    opacity: 1; 
} 

Демо: http://jsfiddle.net/gXz2A/

5

Это должно сделать это

$('#small').hover(function() { 
    $('#animate').show(); 
}, function() { 
    $('#animate').hide(); 
}); 
1

Try:

CSS:

#container{width:100px;height:100px;background:#F00;} 
#animate{width:50px;height:50px;background:#0F0;} 

Сценарий:

$(function(){ 
    $('#container').mouseenter(function(){ 
     $('#animate').fadeTo(1000,0) 
        .mouseenter(function(){$(this).fadeTo(1000,1)}); 
    }); // use 750 in place of 1000 to animate it fast 
}); 

Docs http://api.jquery.com/mouseenter/

HTML:

<div id='container'> 
    <div id="animate">&nbsp;</div> 
</div> 

Fiddle:http://jsfiddle.net/aZmfz/4/

+0

(ссылаясь на OP:) * он должен оставаться открытым, когда мышь находится над маленьким div. * –

1

HTML:

<div id='container'> 
    <div id="animate">HI!</div> 
</div> 

CSS:

#container{ 
    width: 100px; 
    height: 200px; 
    background-color: black; 
} 
#animate{ 
    height: 50px; 
    width: 100px; 
    background-color: white; 
    opacity: 0; 
} 

JQuery:

$("#animate").hover(
    function(){ 
     $(this).stop().animate({ 
      opacity: 1 
     }, 1000); 
    }, 
    function(){ 
     $(this).stop().animate({ 
      opacity: 0 
     }, 1000); 
    } 
); 

EXAMPLE

Вы можете не хотите сделать строгий show/hide, потому что элемент не будет иметь не высота/ширина в наведите указатель мыши на , если он скрыт. Вместо этого вы можете предпочесть установить непрозрачность на 0 (чтобы скрыть) или 1 (показать) и позволить animate переход между двумя. Вы также заметите, что я использовал функцию .stop(). Это связано с тем, что если вы с hover взад и вперед по элементу, он будет продолжать вызывать очереди в очереди. Вызов stop сначала предотвратит это.

Смежные вопросы