Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2015, 10:08
Новичок на форуме
Отправить личное сообщение для Manzroid Посмотреть профиль Найти все сообщения от Manzroid
 
Регистрация: 17.04.2015
Сообщений: 1

При повторном наведении блок мигает (как исправить), 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, 17.04.2015 в 10:11.
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2015, 10:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Manzroid,
если блок вставлен уже зачем его добавлять ещё сотни раз?
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2015, 10:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевернуть блок при наведении. failure jQuery 1 28.08.2014 01:28
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как изменить цвет текста в таблице при наведении на нее? Amateur jQuery 3 01.09.2012 06:19
jQuery поменять CSS цвет для текста при наведении мышью (.text:hover) JooZ jQuery 16 15.11.2010 19:56
Всплывающее окошко, как подсказка при наведении на кнопку. rastafaray Общие вопросы Javascript 4 24.05.2008 00:55