首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >...scrollTop($(这个))

...scrollTop($(这个))
EN

Stack Overflow用户
提问于 2014-12-01 22:11:47
回答 2查看 307关注 0票数 0

我有一些带有div类的.class类,其滚动位置由其父类的另一个子类定义,因此我需要用$(this)分配一个scrollTop(),类似于

代码语言:javascript
复制
$(".class").scrollTop($(this).parent().find('.child').scrollTop()); 

但那密码不管用..。

代码语言:javascript
复制
$(".class").scrollTop(
    function(){
        $(this).parent().find('.child').scrollTop()
    }
);

也不管用。有线索吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-01 22:22:43

这是假设我正确地理解了你的问题。您有多个“类”元素,它们有自己的“子”元素。您需要使用每个元素分别设置每个元素。

代码语言:javascript
复制
$(".class").each(
    function(){
        var elem = $(this);
        var childsScrollPosition = elem.parent().find('.child').scrollTop();
        elem.scrollTop(childsScrollPosition);
    }
);
票数 1
EN

Stack Overflow用户

发布于 2014-12-01 22:19:16

ScrollTop需要一个整数来表示这个位置,所以传递DOM节点不会有帮助。尝试缓存您的选择器,并使用position方法传递它:

代码语言:javascript
复制
var scrollTo = $(this).parent().find('.child');

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

或者根据用例使用偏移量:

代码语言:javascript
复制
var scrollTo = $(this).parent().find('.child');

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

我在这里做的是盲目的,但这也是可行的:

代码语言:javascript
复制
    var scrollTo = $(this).parent().find('.child');

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

这个有用吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27238309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档