При повторном наведении блок мигает (как исправить), jquery
Здравствуйте!
Есть функция которая при наведении на блок вставляет в него другой блок, который затем исчезает через 1200 милисекунд. Однако если в это время повторно навести, появляется дубль блока. Я пытался поиграться с методом .stop (), ничего не дало. Какие будут предложения? (замечу, что нужен именно такой вариант кода как ниже, т.е. я имею ввиду без скрытого див блока, т.к. именно в таком варианте я справился с глюком когда при наведении у всех других див с таким же классом, появляется блок). Вот код: $(document).ready(function(){ $("span.price").hover(function(){ $(this).append($('<a href="http://www.****.ru/skidki.html" target="_blank"><div class="priceout">БЛА БЛА БЛА</div></a>').fadeIn(1200)); }, function() { $(this).find("div:last").fadeOut(200); }); }); |
Manzroid,
если блок вставлен уже зачем его добавлять ещё сотни раз? |
Manzroid,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function() {
$("span.price").mouseenter(function() {
var a = $(this).find($(".priceout").parent());
a = a.length ? a : $('<a href="http://www.****.ru/skidki.html" target="_blank"><div class="priceout">БЛА БЛА БЛА</div></a>').css({
"display": "none"
}).appendTo(this);
a.stop(true, true).fadeIn(1200)
}).mouseleave(function() {
$(this).find($(".priceout").parent()).stop(true, true).fadeOut(200)
})
});
</script>
</head>
<body>
<div class='main'>
<span class='price'>текст1</span>
</div>
<div class='main'>
<span class='price'>текст2</span>
</div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 07:15. |