СЦЕНАРИЙ: У вас есть 2 ссылки внутри списка ul, li: MY INFO и LOG IN Одна ссылка должна содержать поле (с анимацией fadeIn) с формой внутри, когда используется HOVER по ссылке. Другая ссылка показывает кнопку внутри коробки (с анимацией fadeIn), когда вы HOVER по ссылке.Простая jQuery fadeIn fadeOut animation - Как показать/скрыть DIVS?
Форма должна исчезатьOut, когда пользователь MOUSEOUT ссылки «ВХОД» или мышь формы. Коробка с кнопкой, должна fadeOut, когда пользователь MOUSEOUT ссылки «MY INFO» ИЛИ вытащил окно.
ПРОБЛЕМА (такая же для обоих): Форма исчезает, когда MOUSEOUT link MY INFO. Кнопка внутри div исчезает, когда ссылка MOUSEOUT LOG IN.
Примечание: 1/Форма должна быть видна при наведении курсора мыши на ссылку или на ФОРМА 2/коробка с кнопкой должна быть видна при наведении курсора мыши на ссылку или на поле с кнопкой
REFERENCE : проверить www.conforama.fr на самой верхней части экрана, ссылка «Compte» со значком, у него есть класс: «with-hover-menu». Когда вы наведете курсор мыши, появится форма. Когда вы вытаскиваете ссылку или форму, форма исчезает. Мне нужно то же самое, но с fadeIn.
Прямо сейчас вы можете посмотреть код ниже в этом jsfiddle: http://jsfiddle.net/75HYL/19/, но он вообще не работает. Я не знаю, как этого добиться. Хотелось бы понять и узнать ... !!
<ul class="links">
<li class="classA"><a><span>My info</span></a></li>
<li class="classB"><a><span>Log in</span></a></li>
</ul>
<div id="userInfo">USER MUST BE ABLE TO CLICK THE BUTTON BELOW, SO THIS BOX MUST STAY VISIBLE<br/>
<input type ="button" value="OKAY"/>
<div id="login" >
<div class="form">
<form>
<input type="textfield" value="enter your email"></input>
<input type="checkbox"><option>remember me? </option><input>
<input type="button" value="Click me"/>
</form>
</div>
</div>
</div>
<style>
.links li { display:inline-block;cursor:pointer; }
.links li { padding:0 4px 0 1px; }
.links li.classA {width:147px; height:77px;background:url(../images/sprites01.png) no-repeat -226px 0px;}
.links li.classB {width:147px; height:77px;background:url(../images/sprites01.png) no-repeat -226px 0px;}
.links li.classA span {}
.links li.classB span {}
.links li.classA:hover {background:url(../images/sprites01.png) no-repeat -226px -80px;}
.links li.classB:hover {background:url(../images/sprites01.png) no-repeat -226px -80px;}
.links li.classA a {color:#fff;text-transform:uppercase;background:#00aaff;padding:5px 5px 0 20px;margin:5px 0 0;font-size:1em;height:50px;display:block;}
.links li.classB a {color:#00aaff;text-transform:uppercase;background:orange;padding:5px 5px 0 20px;margin:5px 0 0;font-size:1em;height:50px;display:block;}
#login {display:none;width:250px;height:250px; background:#bbb;color:#000;border:1px solid red;}
#userInfo{display:none;width:250px;height:250px; background:#bbb;color:#000;border:1px solid red;}
</style>
<script>
$("li.classA").hover(function() {
$("#userInfo").fadeIn('fast').css('display', 'block');
});
$("#login, .classA").mouseleave(function() {
$("#userInfo").fadeOut('fast').css('display', 'none');
});
$("li.classB").hover(function() {
$("#login").fadeIn('fast').css('display', 'block');
});
$("#login, .classA").mouseleave(function() {
$("#login").fadeOut('fast').css('display', 'none');
});
</script>
Приятное спасибо, что я никогда не думал о трюке 100 мс, это ПОЛНОСТЬЮ, но в вашем скрипте, если пользователь покидает ссылку «ВХОД» или «МОЙ ИНФО», окно остается видимым. Например, мышь в поле «МОЯ ИНФО» показывает, затем переместите мышь вправо, окно все еще там. он должен исчезать, так же, как когда мышь покидает коробку. – mlclm
http://jsfiddle.net/WcUFe/2/ события mouseLeave были прикреплены к неправильным элементам :) они должны быть прикреплены к элементам LI и к контейнерам ... :) i копировать/вставлять и прикреплять дважды к контейнеру, и один раз к LI .. – Quamis
Это похоже на трюк. Благодаря! Посмотрите и изучите свой код. Спасибо за помощь :) – mlclm