Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 jQuery-滚动到<;李>;高度生动_Javascript_Jquery_Html_Css_Scroll - Fatal编程技术网

Javascript jQuery-滚动到<;李>;高度生动

Javascript jQuery-滚动到<;李>;高度生动,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,我在滚动到单击的元素时遇到了令人困惑的问题 当我点击元素时,它有animate()方法将元素的高度从270更改为450。在此操作之后,它应该设置滚动到单击元素的动画。但一切正常(如果我打开并关闭),但当我打开(不关闭)第一个元素并单击第三个元素时,由于动画原因,我的偏移量属性错误,并且滚动动画设置得更低(对于180px来说太多) 来自require的JS wideFolio: function() { $( '.fo-content li' ).on( 'click', func

我在滚动到单击的元素时遇到了令人困惑的问题
  • 当我点击
  • 元素时,它有
    animate()
    方法将元素的高度从270更改为450。在此操作之后,它应该设置滚动到单击元素的动画。但一切正常(如果我打开并关闭),但当我打开(不关闭)第一个元素并单击第三个元素时,由于动画原因,我的偏移量属性错误,并且滚动动画设置得更低(对于180px来说太多)

    来自require的JS

    wideFolio: function() {
            $( '.fo-content li' ).on( 'click', function(a){
                a.preventDefault();
                var list = $( '.fo-content li' );
                var id = $(this).attr('id');
                var flag;
    
                $("html, body").animate({ scrollTop: $(this).offset().top - 180 }, 500);
    
                if( $( this ).css( "height" ) == "270px" ) {
                    list.animate({ height: "270px" }, 500 );
                    $(this).animate({ height: "450px" }, 500, );
                }
                else {
                    $(this).animate({ height: "270px" }, 500 );
                }
    
    
    
                console.log("#" + id);
    
            });
        },
    

    在HTML中就是ul=>4xli。

    你能发一把小提琴吗?没问题!请关注前两个要素。打开第一个,点击进入第二个。你可以只使用CSS吗?这会很酷,但我们缺少动画滚动到单击的元素;)但是现在js并没有在坐标上使用animate()进行操作,但是css也做了同样的事情,并且再次滚动到失败的位置(offset().top+diference)