繁体   English   中英

使用jQuery滚动到单击的div的顶部

[英]Using jQuery to scroll to the top of a clicked div

我已经在网络上仔细搜索了一个解决方案,并且非常接近,但是我希望有人比我能完善的更聪明。 当我单击一个div时,我希望上述div的顶部滚动到浏览器窗口的顶部。 当前代码段使ID为“ centered”的父div滚动到顶部,但我希望每个子div滚动到其自己的顶部,而不必为每个div编写实例。

toggle:function(divid){ //public method
if (typeof divid=="object")
    divid=divid[0]
this.showhide(divid, "toggle")
$("html, body").animate({scrollTop:$('#centered').position().top}, 600);

}

谁能指出我所缺少的吗?

不知道“ divid”代表什么,这是一个相当普通的示例,可能无法直接适合您的情况。 但是,假设“ divid”是id值或代表div的对象,则您应该可以执行以下操作:

toggle:function(divid) {
    if (typeof divid == 'object') {
        divid = $(divid[0]); // Assumes a jQuery object (not very robust)
    } else {
        divid = $('#' + divid);
    }

    this.showhide(divid, "toggle"); // May break depending if it accepts the jQuery object
    $('html, body').animate({ scrollTop: divid.offset().top }, 600);
}

如果“ this”是对有问题的div的引用,则可以仅交换$(this)而不使用divid。

请注意,此代码不是很健壮,因此应正确更改以解决实际的差异。 另请注意-不要忘记分号。

暂无
暂无

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

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