Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .为一个元素设置动画_Javascript_Jquery - Fatal编程技术网

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。