jQuery 选择性悬停
我正在尝试使用 jQuery 完成一个简单的任务:我有一个单词列表,当悬停时,这些单词应该在其相应的图像中淡入淡出。例如:
<a href="#" class="yellow">Yellow</a>
<a href="#" class="blue">Blue</a>
<a href="#" class="green">Green</a>
<img src="yellow.jpg" class="yellow">
<img src="blue.jpg" class="blue">
<img src="green.jpg" class="green">
我目前对每个链接/图像都这样做:
$('a.yellow').hover(
function () {
$('img.yellow').fadeIn('fast');
},
function () {
$('img.yellow').fadeOut('fast');
});
上面的方法工作正常,但由于我仍在学习,我想有更好的方法来做到这一点而不是重复函数。
有人能给我一些启发吗?我该如何改进这段代码?
I'm trying to do a simple task with jQuery: I have a list of words which, when hovered, should fadeIn its corresponding image. For example:
<a href="#" class="yellow">Yellow</a>
<a href="#" class="blue">Blue</a>
<a href="#" class="green">Green</a>
<img src="yellow.jpg" class="yellow">
<img src="blue.jpg" class="blue">
<img src="green.jpg" class="green">
I'm currently doing it this way for each link/image:
$('a.yellow').hover(
function () {
$('img.yellow').fadeIn('fast');
},
function () {
$('img.yellow').fadeOut('fast');
});
The method above works fine, but as I'm still learning, I guess there's a better way to do that instead of repeating functions.
Can anyone give me some light here? How can I improve this code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
jQuery 代码
我认为你应该尝试这个。我使用
data-
作为自定义属性的前缀,因为它符合 html5。如果你愿意的话,你可以说data-something
。通常您可能不需要使用 data-color 自定义属性,但因为我认为为了使其更通用,所以我使用了该属性。您也可以执行这样的代码:
那么
但是这样,您应该确保所有链接都是与图像相关的链接。
jQuery Code
I think you should try this one. I used
data-
as prefix for custom defined attributes because it is html5 compliant. You can saydata-something
if you want to.Normally you may not need to use data-color custom attribute but since I think to make it more generic, I used that attribute. You can do such code as well :
Then
But this way, you should make sure all the links are image related links.
这会为与图像对应的每个链接设置一个唯一的 ID。
This sets a unique id to each link that corresponds to the image.