появление блока при наведении JS
Вот у меня есть скрипт, он рабочий, при наведении на <div id="block">Сюда надо навести</div> появляется <div rel="block" class="hover">Текст появится</div>
мне нужно сделать так, что после того как появился <div rel="block" class="hover">Текст появится</div> и я навел на него мышкой он не исчезал, пока я не выйду курсором за его границы! Подправьте пожалуйста этот скрипт, или может предложите свой вариант! <script> $(document).ready(function(){ $('.hover').each(function(){ var hover=$(this); hover.hide(); $("#"+hover.attr('rel')).hover(function(){ hover.toggle(0); }); }); }); </script> <div id="block">Сюда надо навести</div> <div rel="block" class="hover">Текст появится</div> |
не знаю для чего это нужно,
но может быть достаточно просто Css решения? http://learn.javascript.ru/play/noLmec |
Цитата:
допустим <div id="w1"> <div id="block">Сюда надо навести</div> </div> <div id="w2"> <div rel="block" class="hover">Текст появится</div> </div> |
фух, написал))
<html>
<head>
<title>example</title>
<style>
.block
{
overflow: hidden;
}
.over
{
float: left;
}
.item
{
float: left;
margin-left: 10px;
display: none;
}
</style>
</head>
<body>
<div class="block">
<div class="over" group="g1">over</div>
<div class="item" group="g1">block 1</div>
<div class="item" group="g1">block 2</div>
</div>
<div class="block">
<div class="over" group="g2">over</div>
<div class="item" group="g2">block 3</div>
<div class="item" group="g2">block 4</div>
<div class="item" group="g2">block 5</div>
</div>
<div class="block">
<div class="over" group="g3">over</div>
<div class="item" group="g3">block 6</div>
<div class="item" group="g3">block 7</div>
</div>
<script>
function show (dom)
{
var group = dom.getAttribute('group'),
selector = '*[group=' + group + ']';
var doms = document.querySelectorAll(selector);
var time = null;
Array.prototype.forEach.call(doms, function (ths)
{
ths.onmouseover = function ()
{
if (time)
{
clearTimeout(time);
return;
}
Array.prototype.forEach.call(doms, function (ths)
{
if (ths != dom)
ths.style.display = 'block';
});
};
ths.onmouseout = function ()
{
time = setTimeout(function ()
{
time = null;
Array.prototype.forEach.call(doms, function (ths)
{
if (ths != dom)
ths.style.display = 'none';
});
}, 1000);
};
});
}
Array.prototype.forEach.call(document.querySelectorAll('.over'), function (ths)
{
show(ths);
});
</script>
</body>
</html>
|
Цитата:
http://learn.javascript.ru/play/53uHYb |
Pavel M., во-первых у меня с расширенным функционалом, а во-вторых у вас криво
|
Цитата:
|
| Часовой пояс GMT +3, время: 12:34. |