Показать сообщение отдельно
  #1 (permalink)  
Старый 11.03.2015, 13:04
Аспирант
Отправить личное сообщение для DDSSDD Посмотреть профиль Найти все сообщения от DDSSDD
 
Регистрация: 06.04.2011
Сообщений: 53

Скрыть все по hover, кроме активного
Блин, что то я запарился с элементарной ситуевиной...

Есть схема (картинка jpg) в div-е. Картинка фоновая и задана через background-size: cover.
В этом диве расставлены подсказки по схеме (тоже div-ы c одинаковыми ID).
Все работает просто - наводишь курсор на подсказку, cover - сбрасывается и фоновая схема позиционируется увеличивая то место, где стоит подсказка.

Задача в том, что бы при наведении на одну подсказку другие скрывать.

Казалось бы чего там, CSS :hover и всего делов то.
Но если с помощью CSS то нужно каждому div-у с подсказкой давать уникальный ID и перебирать их все, описывая каждое событие.
Более того, в таком варианте я не могу получить доступ (скрыть) к тем div-ам, которые стоят выше в коде по событию элемента который ниже в коде.

Пробовал на JS - все можно сделать, но опять же нужно перчислять все ID подсказок, что неудобно и не практично ибо на каждой схеме их будет разное количество.

Думаю нужно написать функцию, логику, и запускать ее по событию на каждой подсказке.

Вот только как это сделать с одинаковыми ID и не затрагивать активный элемент (у которого такой же ID) на который в данный момент наведен курсор?

<div id="combox">

<div class="cont"></div>

<div class="cont"></div>

<div class="cont"></div>

</div>


Пробовал и так:

(function() {
    var switcher = $('[class *= "cont"]'),
         target = $('#combox div');
    
    switcher.hover.not(this)(
        function() { target.hide(); },
        function() { target.show(); }
    );
})();


И так:

var imgid;
$('.cont').mouseenter(function(){
imgid = this.id;
$('.cont').each(function(){
if(this.id==imgid) $(this).stop(false,true).css('visibility', 'hidden');
else $(this).stop(false,true).css('visibility', 'visible');
});
});


В общем подскажите плиз.. Вопрос видать детский совсем...
Ответить с цитированием