我正在使用此功能进行动画悬停:
function lookbookhover(){
var lookbook = $('.lookbook_info')
lookbook.bind({
'mouseenter' : function(){
lookbook_animate(200)
},
'mouseleave' : function(){
lookbook_animate(30)
}
})
}
function lookbook_animate(h){
$('.lookbook_info').animate({
height: h
}, 300 );
}
我遇到的问题是,当用户悬停一个项目(.lookbook_info)时,它会激活页面上的所有其他.lookbook_info,如何指向只为一个元素设置动画?
我知道它使用的是$(this),但我还没有得到结果。
答案 0 :(得分:2)
只需将元素传递给函数:
function lookbookhover(){
$('.lookbook_info').on({
mouseenter : function(){
lookbook_animate(this, 200);
},
mouseleave : function(){
lookbook_animate(this, 30);
}
});
}
function lookbook_animate(elem, h){
$(elem).stop(true,true).animate({
height: h
}, 300 );
}
答案 1 :(得分:0)
如果您想要指出发生了哪个事件的元素,或者您想要选择特定元素(如first,last或nth-child),则可以使用$(this)
:
$(element:first)
$(element:last)
$(element:nth-child(2))
您需要将this
作为参数传递给该函数。