在每个元素上悬停动画但不在悬停的元素上
hover animation on each element but not on the hovered element
我有一个非常经典的菜单:当我们点击菜单按钮时,附近会出现一个文本...
结构:
<ul id="menu">
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
</ul>
我不知道如何使悬停菜单点的隐藏元素可见...我的问题是 EACH 元素,以及 NOT THE HOVERED 元素是动画的但隐藏的元素。
$('#menu li a').bind({
mouseenter: function() {
$('.menu-text').animate({'opacity':1});
},
mouseleave: function() {
$('.menu-text').animate({'opacity':0});
}
});
现在,当我将鼠标悬停在菜单 bttn 上时,所有菜单文本都可见。如何在菜单 bttn 悬停时使菜单文本可见?
您实际上不需要 jQuery。这是一个简单的 CSS 解决方案:
#menu .menu-point:hover .menu-text {
opacity: 1;
}
关于你的问题..
为了单独引用每个元素,请使用 $(this).prev('.menu-text')
。
$(this).prev('.menu-text').animate({
'opacity': 0
});
$('#menu li a').bind({
mouseenter: function () {
$(this).prev('.menu-text').animate({
'opacity': 1
});
},
mouseleave: function () {
$(this).prev('.menu-text').animate({
'opacity': 0
});
}
});
试试这个
$('#menu li a').bind({
mouseenter: function() {
$(this).prev('.menu-text').animate({'opacity':1});
},
mouseleave: function() {
$(this).prev('.menu-text').animate({'opacity':0});
}
});
我有一个非常经典的菜单:当我们点击菜单按钮时,附近会出现一个文本...
结构:
<ul id="menu">
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
<li class="menu-point">
<span class="menu-text"></span>
<a class="menu-bttn"></a>
</li>
</ul>
我不知道如何使悬停菜单点的隐藏元素可见...我的问题是 EACH 元素,以及 NOT THE HOVERED 元素是动画的但隐藏的元素。
$('#menu li a').bind({
mouseenter: function() {
$('.menu-text').animate({'opacity':1});
},
mouseleave: function() {
$('.menu-text').animate({'opacity':0});
}
});
现在,当我将鼠标悬停在菜单 bttn 上时,所有菜单文本都可见。如何在菜单 bttn 悬停时使菜单文本可见?
您实际上不需要 jQuery。这是一个简单的 CSS 解决方案:
#menu .menu-point:hover .menu-text {
opacity: 1;
}
关于你的问题..
为了单独引用每个元素,请使用 $(this).prev('.menu-text')
。
$(this).prev('.menu-text').animate({
'opacity': 0
});
$('#menu li a').bind({
mouseenter: function () {
$(this).prev('.menu-text').animate({
'opacity': 1
});
},
mouseleave: function () {
$(this).prev('.menu-text').animate({
'opacity': 0
});
}
});
试试这个
$('#menu li a').bind({
mouseenter: function() {
$(this).prev('.menu-text').animate({'opacity':1});
},
mouseleave: function() {
$(this).prev('.menu-text').animate({'opacity':0});
}
});