Javascript .为一个元素设置动画
我正在使用此功能进行动画悬停:Javascript .为一个元素设置动画,javascript,jquery,Javascript,Jquery,我正在使用此功能进行动画悬停: function lookbookhover(){ var lookbook = $('.lookbook_info') lookbook.bind({ 'mouseenter' : function(){ lookbook_animate(200) }, 'mouseleave' : function(){
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 );
}
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 );
}
我的问题是,当用户悬停一个项目(.lookbook\u info)时,它会对所有其他项目设置动画。页面上的lookbook\u info,我如何指向仅对一个元素设置动画
我知道它使用$(这个),但我还没有得到结果。如果您想指出发生事件的元素,或者如果您想选择特定元素,例如第一个、最后一个或第n个子元素,可以使用$(这个)
:
$(element:first)
$(element:last)
$(element:nth-child(2))
您需要将此作为参数传递给该函数。只需将元素传递给函数:
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 );
}
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 );
}
你能解释一下
h
变量的含义吗?/它是如何定义的?h
是传递给函数的数字,用于设置动画中的高度,就像问题中一样?嗯,很抱歉,这不起作用,它不会给我控制台错误,但仍然不会显示悬停info@fxg-当然行了?刚刚添加了一个演示作为证据,您一定是做错了什么。您是否调用了该函数,是否使用了document.ready函数等adeneo,知道为什么当您将鼠标悬停在项目上时,它会开始疯狂地反弹吗?您知道有什么解决方案吗?我如何将参数“this”传递给该函数?@fxg man我也可以创建jQuery,但我认为这将是一种有效的方法;)而是写了20行JS。