jQuery -> onmouseover
Добрый вечер,
есть несколько div-блоков, имеющих класс ".class1", с css-атрибутом visibility: hidden. По событию onmousemove должен подсвечиваться тот блок, под которым находится курсор $(".class1").mousemove(function(){ $("#text").css('visibility','visible'); ;}) Этот код подсвечивает только первый из блоков, вне зависимости над каким курсор...подскажите что нить плз |
по-моему, html элементы c visibility:hidden вообще не реагируют на события мыши
|
Цитата:
|
.class1{
display: none;
blah-blah-blah...
}
$(".class1").mousemove(function(){
$(this).css('display','block');
// либо
$(this).show();
}
}
|
Не совсем точно сформулировал задачу. Правильно вот так: есть несколько div-блоков, имеющих класс ".class1", внутри каждого - по блоку с классом ".class2" и css-атрибутом visibility: hidden. Нужно чтобы при наведении курсора на блок с ".class1" становился видимым элемент с классом ".class2" и исчезал при удалении курсора с ".class1"
Решение: (кстати с visibility:nidden работают mouse-ивенты)
$(".class1").mouseover(function(){
$(this).find(".class2").css('visibility','visible');
;})
$(".class1").mouseout(function(){
$(this).find(".class2").css('visibility','hidden');
;})
Можно ли как то оптимизировать этот код, ну в плане скорости выборки...? |
Цитата:
$('.class1').hover(
function () {
$(this).find('.class2').css('visibility','visible');
},
function () {
$(this).find('.class2').css('visibility','hidden');
}
);
|
Спасиба, а есть какая то альтернатива find, вроде бы есть метод children? Он быстрее будет искать?
|
Цитата:
Но, т.к. у вас всего один потомок, то и find() и children() выполнят абсолютно одинаковые действия за одинаковое время :) оптимизации здесь не добиться. |
Ясно, спасибо!
|
| Часовой пояс GMT +3, время: 09:38. |