jQuery - 无法获取“this”去工作
我已经成功地实现了一个简单的动画,因此当我用“gallery-wrap”类滚动我的 div 时,带有“magnifier”类的图像会出现在顶部。
我的问题是我有很多带有“gallery-wrap”类的 div 和很多带有“magnifier”类的图像。
$("img.magnifier").hide(); //this hides the image on page load
$('.gallery-wrap').hover(function() {
$("img.magnifier").show();
}, function() {
$("img.magnifier").hide();
});
img.magnifier
位于 .gallery-wrap
父 div 内部,而不是 .gallery-wrap
内部。
我需要它,所以这只执行当前悬停的元素,它已经在执行此操作,但它为页面上的所有 img.magnifier
制作动画?
我以为它可能看起来像这样......
$("img.magnifier").hide(); //this hides the image on page load
$('.gallery-wrap').hover(function() {
$(this).parent("img.magnifier").show();
}, function() {
$(this).parent("img.magnifier").hide();
});
但无法让它发挥作用。
任何想法都会有很大的帮助,谢谢。
i've managed to get a simple animation working so when I roll over my div with the class "gallery-wrap", an image with the class "magnifier" appears on top.
My problem is I have lots of divs with the class "gallery-wrap" and lots of images which have the class "magnifier".
$("img.magnifier").hide(); //this hides the image on page load
$('.gallery-wrap').hover(function() {
$("img.magnifier").show();
}, function() {
$("img.magnifier").hide();
});
The img.magnifier
is located inside the .gallery-wrap
parent div, not inside .gallery-wrap
.
I need it so this does only the current hovered element, which it is doing already, but its animating all the img.magnifier
on the page?
I thought it would maybe look like this...
$("img.magnifier").hide(); //this hides the image on page load
$('.gallery-wrap').hover(function() {
$(this).parent("img.magnifier").show();
}, function() {
$(this).parent("img.magnifier").hide();
});
But cannot get it to work.
Any ideas would be a huge help thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
难道不应该是这样的:
如果我理解正确的话,
img.magnifier
是.gallery-wrap
的子级,所以find()
应该使用而不是parent()
。Shouldn't it be like this:
If I understand correctly,
img.magnifier
is a child of.gallery-wrap
, sofind()
should be used instead ofparent()
.您很接近:
将其更改为:
那么它应该可以工作。当然,对您的
hide()
执行同样的操作。You were close with:
Change it to:
Then it should work. Do the same thing with your
hide()
of course.您可以为 gallery-wrap 和关联的 img.magnifier 分配匹配的 id 值吗?
Can you assign matching id values to the gallery-wrap and associated img.magnifier?
由于 img.magnifier 不在 .gallery-wrap 内,因此 find() 不会在这里执行此操作。
试试这个:
如果在parents()集合中有不止一个img.magnifier,则.last()是必要的。
As img.magnifier is not inside .gallery-wrap, find() will not do it here.
Try this one:
The .last() is necessary if you have more than just one img.magnifier in the parents() collection.
您需要将:更改
为:,
因为 img 标签是 gallery-wrap 的子元素。
You need to change:
to:
since the img tag is a child element of your gallery-wrap.