Я пытаюсь заставить строку поиска появляться рядом с изображением, когда вы наводите на него курсор, и исчезать, когда вы наводите курсор на изображение рядом с ним. Я в основном заставил это работать, но это действует действительно затруднительно. Трудно объяснить в письменной форме, как оно ведет себя, но вы можете увидеть, о чем я говорю, здесь: http://thecampusbubble.com/redesign/sandbox/problem.php. Я думаю, что большая часть проблемы возникает, когда вы наводите курсор на одно изображение, а затем быстро переходите к следующий до того, как строка поиска полностью появилась.
Вот мой код:
<div class='header'>
<div class='pageContainer'>
<img class='bubbleLogo' src=' ../lib/images/bubbleLogo.png ' />
<div class='iconContainer' id='findContainer'>
<div class='headerIcon findIcon' id='find'></div>
<div class='searchBar' id='findSearchBar'>
<div class='innerBox'>Night Life</div>
</div>
</div>
<div class='iconContainer' id='buzzContainer'>
<div class='headerIcon buzzIcon' id='buzz'></div>
<div class='searchBar' id='buzzSearchBar'>
<div class='innerBox'>Night Life</div>
</div>
</div>
<div class='iconContainer' id='feedContainer'>
<div class='headerIcon feedIcon' id='feed'></div>
<div class='searchBar' id='feedSearchBar'>
<div class='innerBox'>Night Life</div>
</div>
</div>
</div>
Сценарий:
$('#find').hover(function(){
$('#findSearchBar').animate({opacity: 100, width: 290}, 500);
$('#findContainer').animate({width: 365}, 500);
$('#buzzSearchBar').animate({opacity: 0, width: 0}, 500);
$('#buzzContainer').animate({width: 79}, 500);
$('#feedSearchBar').animate({opacity: 0, width: 0}, 500);
$('#feedContainer').animate({width: 79}, 500);
});
$('#buzz').hover(function(){
$('#findSearchBar').animate({opacity: 0, width: 0}, 500);
$('#findContainer').animate({width: 79}, 500);
$('#buzzSearchBar').animate({opacity: 100, width: 290}, 500);
$('#buzzContainer').animate({width: 365}, 500);
$('#feedSearchBar').animate({opacity: 0, width: 0}, 500);
$('#feedContainer').animate({width: 79}, 500);
});
$('#feed').hover(function(){
$('#findSearchBar').animate({opacity: 0, width: 0}, 500);
$('#findContainer').animate({width: 79}, 500);
$('#buzzSearchBar').animate({opacity: 0, width: 0}, 500);
$('#buzzContainer').animate({width: 79}, 500);
$('#feedSearchBar').animate({opacity: 100, width: 290}, 500);
$('#feedContainer').animate({width: 365}, 500);
});
$(document).ready(function(){
$('#buzzSearchBar').animate({ opacity: 0, width: 0 }, 0);
$('#feedSearchBar').animate({ opacity: 0, width: 0 }, 0);
$('#buzzContainer').animate({ width: 79 }, 0);
$('#feedContainer').animate({ width: 79 }, 0);
});