请如何淡入淡出每个列表元素内的相关链接
我是 jQuery 的新手,我正在尝试制作一个简单的淡入淡出动画来实践我到目前为止所学到的知识,不幸的是我没有得到我想要的结果 我有一个列表元素,每个 li 元素内都有一个链接: 我想要的:当我滚动到 li 元素上时,我希望相对的 链接淡入,当我推出时我希望它淡出。这是我的代码如下:
$(function(){
$("a.viewAllProductsLink").hide();
$(".scrollable ul>li").each(function(){
$(this).mouseenter(function(){
$("a.viewAllProductsLink").fadeIn("slow");
})
.mouseleave(function(){
$("a.viewAllProductsLink").fadeOut("slow");
});
});
});
I'm new to jQuery, I'm trying to make a simple fadein fadeout animation to make in practice what I've learned so far, unfortunately I'm not getting the result that I want
I have a list elements, within each li element there is a link:
What I want: when I roll over a li element, I want the relative <a>
link to fade in and when I roll out I want it to fade out. This is my code below:
$(function(){
$("a.viewAllProductsLink").hide();
$(".scrollable ul>li").each(function(){
$(this).mouseenter(function(){
$("a.viewAllProductsLink").fadeIn("slow");
})
.mouseleave(function(){
$("a.viewAllProductsLink").fadeOut("slow");
});
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您调用
$('a.viewAllProductsLink')
时,您选择的是该类的所有链接,而您想要做的只是选择滚动元素内的链接。为此,请使用$(this).find()
:此外,此处使用
.each()
效率很低,因为所有元素的行为都相同,并且您可能想在动画之前使用.stop()
来保持当您快速将鼠标悬停在元素上和离开元素多次时,动画队列不会建立:When you call
$('a.viewAllProductsLink')
you're selecting all of the links with that class when what you want to do is select only the link within the element you're rolling over. To do that, use$(this).find()
:Furthermore, it's innefficient to use
.each()
here since all of the elements will behave the same, and you probably want to use.stop()
before the animation to keep the animation queue from building up when you hover over and off the element many times quickly: