Это можно сделать с помощью jquery, расширенного набора javascript. Вы можете узнать об этом (и загрузить файлы .js) по http://jquery.com
или вы можете сделать с 'прямым' JavaScript следующим образом:
<head>
<title></title>
<script type="text/javascript">
function hideNav() {
var nav = document.getElementById("navigation");
nav.style.display = "none";
}
function showNav() {
var nav = document.getElementById("navigation");
nav.style.display = "";
}
</script>
</head>
<body>
<div id="navigation">
<ul><li>something</li><li>something else</li></ul>
</div>
<div id="header-search">
<input id="search-input" type="text" onfocus="hideNav();" onblur="showNav();" />
</div>
</body>
</html>
Ваш эффект затухания и манипулирование этими и другими объектами DOM намного проще с jquery, но это заставит вас двигаться ..
edit после вашего комментария, что переход слишком «быстрый», я подумал предложить это:
<div id="container" style="width:150px;height:150px;">
<div id="navigation">
<ul><li>something</li><li>something else</li></ul>
</div></div>
Оборачивая навигационный div во внешний div фиксированного размера, другие элементы на странице не будут «прыгать», когда навигационный div станет скрытым. не дает вам исчезнуть, но обеспечивает более чистый UX. Конечно, ваш пробег может отличаться. Что касается того, почему jquery не сработал, я не уверен без того, что вы пробовали.