Jquery 选择器多个类(这个)
我有一个页面,列出了包含在带有广告容器类的 div 中的内容。在该容器中,有一个隐藏的 div,其类为 ad-contact。在广告类悬停时,我想对广告信息的显示进行动画处理。由于特定页面上有多个广告,我只想将当前悬停的广告容器的广告信息滑入。我的问题是,由于当您将鼠标悬停在任何广告上时,每个页面上有超过 10 个广告,所有广告联系人 div 都会向下滑动,而不是您将鼠标悬停在其上方的 div。
$(document).ready(function() {
$('.ad-container').hover(
function(){
$(".ad-contact").slideDown(1000);
},
function(){
$(".ad-contact").slideUp(1000);
});
});
我认为,(这个)在这里使用,但我不确定。这确实会给我带来启发。
<div class="ad-container">
<div class="ad-title">title<span class="ad-title-img">(pic)</span></div>
<div class="ad-description">texttext</div>
<div class="ad-contact" style="display:none">contact poster</div>
<div class="ad-sellerinfo" style="display:none">* Verified ***-****<br />
Paid Member</div>
</div>
I have a page that lists content that are contained in a div with a class ad-container. in that container there is a hidden div with the class ad-contact. on the hover of the ad class i want to animate the display of ad-info. since there are multiple ads on a paticular page, i want only the ad-info of the currently hovered ad-container to slide in. my problem is that since there are more than 10 ads a page when you hover over any of the ads, all of the ads-contact divs slideDown and not the one you are hovering over.
$(document).ready(function() {
$('.ad-container').hover(
function(){
$(".ad-contact").slideDown(1000);
},
function(){
$(".ad-contact").slideUp(1000);
});
});
i think, (this) is used here but im not sure. and this would really shed the light for me.
<div class="ad-container">
<div class="ad-title">title<span class="ad-title-img">(pic)</span></div>
<div class="ad-description">texttext</div>
<div class="ad-contact" style="display:none">contact poster</div>
<div class="ad-sellerinfo" style="display:none">* Verified ***-****<br />
Paid Member</div>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
jQuery 构造函数接受第二个参数,该参数可用于覆盖选择的上下文。像这样的东西应该有效:
另外,值得一提的是,
$(".ad-contact", this)
在内部转换为:$(this).find(".ad-contact" )
所以你可以使用这个来代替,它可能会稍微快一些。The jQuery constructor accepts a 2nd parameter which can be used to override the context of the selection. Something like this should work:
Also, worth mentioning,
$(".ad-contact", this)
is internally converted into:$(this).find(".ad-contact")
so you can use this one instead, it might be slightly faster.您可以使用
.children()
选择器:这样您只会如果
ad-contact
类是上下文中对象的子级(当前悬停的对象),则对类ad-contact
进行操作请参阅 这里有工作演示
You could use the
.children()
selector:This way you will only act on the class
ad-contact
if its a child of the object in context (which is the object currently being hovered)See a working demo here
你应该使用事件来处理这个,
首先你需要像
广告容器.hover(函数(事件){
event.target.children();
})
然后 this.show().delay(1000).hide();
当复制粘贴时,提供的代码示例可能不起作用,您必须在编辑器中编写自己的代码。
You should use event to handle this,
First you need like
ad-container.hover(function(event){
event.target.children();
})
and then this.show().delay(1000).hide();
the code sample provide may not work when copy paste you have to write your own code in editor.