jquery 中的 mouseenter 和 mouseover 动画
mouseenter and mouseover for over animation in jquery
我卡在 jquery 属性 上了。我想用 属性 鼠标进入和鼠标离开产生过度效果,但我有几张图片,我想只在鼠标进入这一张时在其中一张上做。
我尝试输入几个 class 名称,但是这对所有图像都没有任何悬停效果,而不仅仅是在活动图像上。
<div id="villas">
<div class="l_villa">
<a href="./img/villa1.png" alt="villa1">
<img id="lv1" src="./img/villa1.png" alt="villa1">
</a>
<div class="lvinfos1">
Lorem ipsum dolor sit amet.
</div>
</div>
<div class="l_villa">
<a href="./img/villa2.png" alt="villa2">
<img class="lv1" src="./img/villa2.png" alt="villa2">
</a>
<div class="lvinfos2">
Lorem ipsum dolor sit amet.
</div>
</div>
$(document).ready(function(){
$(".l_villa").mouseover(function(){
$(".lvinfos1").slideUp("slow");
});
$(".l_villa").mouseleave(function(){
$(".lvinfos1").slideDown('slow');
});
});
要执行您需要的操作,请将所有 .lvinfosN
元素更改为具有相同的 class。我建议 .lvinfos
。然后在事件处理程序中使用this
关键字来引用引发事件的元素,并使用DOM遍历来定位相关元素向上或向下滑动。在这种情况下 find()
将起作用。
请注意,可以使用 hover()
方法和 slideToggle()
来缩短代码。此外,值得调用 stop()
以防止当用户重复鼠标 in/out 元素时多个动画排队。
$(document).ready(function() {
$('.l_villa').hover(function() {
$(this).find('.lvinfos').stop(true).slideToggle("slow");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div id="villas">
<div class="l_villa">
<a href="./img/villa1.png" alt="villa1">
<img id="lv1" src="./img/villa1.png" alt="villa1">
</a>
<div class="lvinfos">
Lorem ipsum dolor sit amet.
</div>
</div>
<div class="l_villa">
<a href="./img/villa2.png" alt="villa2">
<img class="lv1" src="./img/villa2.png" alt="villa2">
</a>
<div class="lvinfos">
Lorem ipsum dolor sit amet.
</div>
</div>
</div>
我卡在 jquery 属性 上了。我想用 属性 鼠标进入和鼠标离开产生过度效果,但我有几张图片,我想只在鼠标进入这一张时在其中一张上做。
我尝试输入几个 class 名称,但是这对所有图像都没有任何悬停效果,而不仅仅是在活动图像上。
<div id="villas">
<div class="l_villa">
<a href="./img/villa1.png" alt="villa1">
<img id="lv1" src="./img/villa1.png" alt="villa1">
</a>
<div class="lvinfos1">
Lorem ipsum dolor sit amet.
</div>
</div>
<div class="l_villa">
<a href="./img/villa2.png" alt="villa2">
<img class="lv1" src="./img/villa2.png" alt="villa2">
</a>
<div class="lvinfos2">
Lorem ipsum dolor sit amet.
</div>
</div>
$(document).ready(function(){
$(".l_villa").mouseover(function(){
$(".lvinfos1").slideUp("slow");
});
$(".l_villa").mouseleave(function(){
$(".lvinfos1").slideDown('slow');
});
});
要执行您需要的操作,请将所有 .lvinfosN
元素更改为具有相同的 class。我建议 .lvinfos
。然后在事件处理程序中使用this
关键字来引用引发事件的元素,并使用DOM遍历来定位相关元素向上或向下滑动。在这种情况下 find()
将起作用。
请注意,可以使用 hover()
方法和 slideToggle()
来缩短代码。此外,值得调用 stop()
以防止当用户重复鼠标 in/out 元素时多个动画排队。
$(document).ready(function() {
$('.l_villa').hover(function() {
$(this).find('.lvinfos').stop(true).slideToggle("slow");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div id="villas">
<div class="l_villa">
<a href="./img/villa1.png" alt="villa1">
<img id="lv1" src="./img/villa1.png" alt="villa1">
</a>
<div class="lvinfos">
Lorem ipsum dolor sit amet.
</div>
</div>
<div class="l_villa">
<a href="./img/villa2.png" alt="villa2">
<img class="lv1" src="./img/villa2.png" alt="villa2">
</a>
<div class="lvinfos">
Lorem ipsum dolor sit amet.
</div>
</div>
</div>