Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.03.2013, 12:46
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

mouseout к дочернему элементу
Хочу сделать так чтобы при наведении на блок див id="id1"

Появлялся блок с id="id2" внутри которого блок с id="id3". Все отлично появляться, блок с id="id2" по ширине и высоте больше своего дочернего блока id="id3", и стоит событие:
$('#id2').mouseout(function(){
$(this).hide();
});

Но беда в том что если курсор попадает на дочерний элемент $('#id2') то событие mouseout все равно срабатывает.

Как быть? как ему объянить что оно должно срабатывать только если уйдет с #id2 но не на дочерний элемент?
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2013, 13:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так не пойдет?
<style>
    div{
        padding: 10px; border: 1px solid red;
    }
    #id1 #id2{
        display: none;
    }
    #id1:hover #id2{
        display: block;
    }
</style>
<div id="id1">#id1
    <div id="id2">#id2
        <div id="id3">#id3</div>
    </div>
</div>
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2013, 13:09
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Там вот такая структура:
<div id="id1">#id1</div>

<div id="id2">#id2
<div id="id3">#id3</div>
</div>
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2013, 13:16
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

т.е. вот:
Код:
http://zakaz-viagra.ru/product/dzhenerik_viagra
наведите на "Лайкни!" и увидите, а когда нводиться на блок с соц. кнопками то исчезает все т.к. срабатывает mouseout для блока с красной границей.
Ответить с цитированием
  #5 (permalink)  
Старый 04.03.2013, 13:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так чтоле?
<style>
    div{
        padding: 10px; border: 1px solid red;
    }
    #id2 #id3{
        display: none;
    }
    #id2:hover #id3{
        display: block;
    }
</style>
<div id="id1">#id1</div>
<div id="id2">#id2
    <div id="id3">#id3</div>
</div>
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2013, 13:31
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Неа, при наведении на id1 должно появляться id2 с id3 (id3 который внутри id2) и только после отведения мышки с id2 они должны исчезать. Единственное что можно смухлевать это сделать поситион абсолуте и наложить на id1 но внутрь id1 не втыкать.
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2013, 13:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Да ё моё. Так?
<style>
    div{
        padding: 10px; border: 1px solid red;
    }
    #id1 + #id2{
        display: none;
    }
    #id1:hover + #id2{
        display: block;
    }
</style>
<div id="id1">#id1</div>
<div id="id2">#id2
    <div id="id3">#id3</div>
</div>
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2013, 13:43
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Уже близко =)

Так но чтобы исчезало не когда уходит с #id1 а когда уходит с #id2 вот =)
Ответить с цитированием
  #9 (permalink)  
Старый 04.03.2013, 13:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<style>
    div{
        padding: 10px; border: 1px solid red;
    }
    #id1 + #id2{
        display: none;
    }
    #id2:hover, #id1:hover + #id2{
        display: block !important;
    }
</style>
<div id="id1">#id1</div>
<div id="id2">#id2
    <div id="id3">#id3</div>
</div>

Хотя возможно тут нужно использовать не css, а javascript..
Ответить с цитированием
  #10 (permalink)  
Старый 04.03.2013, 13:52
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Нужно было начать по другому. Вообщем най сайте есть кнопка "лайкни!" при наведении на нее вылезает блок, в котором блок с соц кнопками и когда мышь уходить с этого блока то он исчезает и следовательно блок содержавшийся в нем (т.е. соц. кнопками) тоже. Все сделал, но проблема что в блоке который содержит блок с соц. кнопками, при наведении на соц. кнопками (дочерний его) срабатывает событие mouseout хотя вроде дочерний блок и не должно срабатывать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к родительскому элементу по дочернему Кирюха =) jQuery 24 13.06.2018 12:22
mouseover, mouseout - не распространяется на дочерние элементы barmaley Events/DOM/Window 31 01.06.2017 08:52
Почему-то не получается сделать click по дочернему элементу. adelante jQuery 1 14.01.2013 02:02
Выборка((( получить доступ к дочернему элементу denfer12 Общие вопросы Javascript 1 13.08.2012 15:46
Задать класс дочернему элементу Juli@ jQuery 12 06.09.2011 11:32