Показать div при наведении мыши
Если вам требуется сделать блок, который всплывает при наведении мыши, то этот урок для вас. Живой пример.
Итак, javascript:
<script type="text/javascript">
sid = '';
function show(id){
if(sid != ''){
document.getElementById(sid).style.display = "none";
}
document.getElementById(id).style.display = "block";
sid = id;
t = setTimeout("hideall()", 5000);
}
function smarthider(){
t = setTimeout("hideall()", 5000);
}
function hideall(){
if(sid != ''){
document.getElementById(sid).style.display = "none";
sid = '';
}
}
</script>
Разметка:
<div align="center"><a href="#" onmouseover="hideall();">Спрятать</a> | <a href="#" onmouseover="show('bl1');">Показать блок №1</a> | <a href="#" onmouseover="show('bl2');">
Показать блок №2</a>
</div>
<div id="bl1" align="center" style="display:none; padding-top:200px; color:#C63D7A; font-size:30px;border:2px dashed #ccc; background-color:#eee;" onmouseover="clearTimeout(t)" onmouseout="smarthider()">
Всем привет! Я блок номер один!
</div>
<div id="bl2" align="center" style="display:none; padding-top:200px; color:#C63D7A; font-size:30px;border:2px dashed #ccc;background-color:#eee;" onmouseover="clearTimeout(t)" onmouseout="smarthider()">
Здравствуйте все! Я блок номер два!
</div>
В чем чудеса?
onmouseover="show('bl1');" — при наведении на ссылку, выполняется функция показать. Где bl1 — это id блока.
onmouseover="show('bl2');" — то же самое, что и в первом случае, только id блока — bl2
onmouseover="hideall();" — при наведении на ссылку, вызывается функция hideall, а эта функция присваевает нашим блокам значение "display: none"
onmouseover="clearTimeout(t)" — при наведении на наш блок, очищается интерва скрытия блока. Т.к. сейчас он 5 секунд, и если мы в течении этого времени не наведем мышью на открытый блок, он исчезнет. А если наведем, то таймаут обнулится.
onmouseout="smarthider()" — при отведении курсора мыши, запускается функция smarthider. Она скрывает блок через 5 секунд.
Использовать даже этот простой прием можно по разному. Все зависит лишь от вашей фантазии.
