JQuery链接悬停效果代码精简
我想知道压缩这些代码行所需的方法。基本上,当您将鼠标悬停在图像上时,其下方的文本图像会淡入和淡出。
$("#2").hover(function(){
$('#two').stop().animate({"opacity": 1}, 600);
},function(){
$('#two').stop().animate({"opacity": 0}, 600);
});
$("#4").hover(function(){
$('#one').stop().animate({"opacity": 1}, 600);
},function(){
$('#one').stop().animate({"opacity": 0}, 600);
});
$("#5").hover(function(){
$('#three').stop().animate({"opacity": 1}, 600);
},function(){
$('#three').stop().animate({"opacity": 0}, 600);
});
$("#6").hover(function(){
$('#four').stop().animate({"opacity": 1}, 600);
},function(){
$('#four').stop().animate({"opacity": 0}, 600);
});
预先非常感谢您!
I am wondering the method needed to condense these lines of code. Basically when you roll over an image, an image of text below it fades in and out.
$("#2").hover(function(){
$('#two').stop().animate({"opacity": 1}, 600);
},function(){
$('#two').stop().animate({"opacity": 0}, 600);
});
$("#4").hover(function(){
$('#one').stop().animate({"opacity": 1}, 600);
},function(){
$('#one').stop().animate({"opacity": 0}, 600);
});
$("#5").hover(function(){
$('#three').stop().animate({"opacity": 1}, 600);
},function(){
$('#three').stop().animate({"opacity": 0}, 600);
});
$("#6").hover(function(){
$('#four').stop().animate({"opacity": 1}, 600);
},function(){
$('#four').stop().animate({"opacity": 0}, 600);
});
Thank you greatly in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
悬停物体和动画物体之间的关系
看起来有点随机,所以你可能不得不使用一个简单的映射
表。
您还可以使用数据将
id_map
放在源元素上属性。 HTML 看起来像这样:
和 jQuery:
如果将一个类附加到
#2
、#4
、... 元素,那么您可以简化选择器:顺便说一句,使用所有数字
id
属性是一个坏主意,它们应该以字母开头。The relationship between the hovered thing and that animated thing
looks a bit random so you'll probably have to use a simple mapping
table for that.
You could also put the
id_map
on the source elements using dataattributes. The HTML would look something like this:
And the jQuery:
If you attach a class to the
#2
,#4
, ... elements then you can simplify the selector:BTW, using all numeric
id
attributes is a bad idea, they should begin with a letter.如果您为每个适用的 HTML 元素指定一个类,例如
,那么您可以执行以下操作:
编辑:
我最初错过了您没有使图像本身褪色,因此如果您使用的是 HTML5 和 jQuery 1.4.3 或更高版本,您可以执行以下操作:
HTML:
Javascript:
If you give each of the applicable HTML elements a class, e.g.
<img class="fade-on-hover" />
, then you could do:EDIT:
I originally missed that you weren't fading the images themselves, so if you're using HTML5 and jQuery 1.4.3 or later, you can do the following:
HTML:
Javascript: