繁体   English   中英

…scrollTop($(this)...)

[英]…scrollTop($(this)…)

我有一些.class类的div ,其滚动位置由其父级的另一个孩子定义,因此我需要为$(this)分配一个scrollTop() $(this) ,例如

$(".class").scrollTop($(this).parent().find('.child').scrollTop()); 

但是该代码不起作用...

$(".class").scrollTop(
    function(){
        $(this).parent().find('.child').scrollTop()
    }
);

也不起作用。 有什么线索吗?

假设我正在正确阅读您的问题。 您有多个具有自己的“子”元素的“类”元素。 您将需要使用每个元素分别设置每个元素。

$(".class").each(
    function(){
        var elem = $(this);
        var childsScrollPosition = elem.parent().find('.child').scrollTop();
        elem.scrollTop(childsScrollPosition);
    }
);

ScrollTop想要一个整数作为位置,因此传递DOM节点将无济于事。 尝试缓存您的选择器,并使用position方法传递它:

var scrollTo = $(this).parent().find('.child');

$(".class").scrollTop( scrollTo.position().top );

或者,根据使用情况使用偏移量:

var scrollTo = $(this).parent().find('.child');

$(".class").scrollTop( scrollTo.offset().top );

我在这里做这个盲注,但这也应该起作用:

    var scrollTo = $(this).parent().find('.child');

    $(".class").scrollTop(
        function() {
            return scrollTo.offset().top;
        }
    );

这有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM