При повторном наведении блок мигает (как исправить), 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, время: 23:14. |