jquery - 使用 jquery 在 div 内滚动

标签 jquery css

我有一个<div>overflow:auto 。这个<div>包含 <form>带有搜索栏。 我正在以相同的形式显示获取的记录,现在我需要的只是滚动 <div> (我的搜索结果开始显示的地方)到其容器的顶部 <div> (而不是到页面顶部)。

检查创建的jsfiddle。 http://jsfiddle.net/tusharjs/wGUE2/15/

在这里,我尝试了在 stackoverflow 上找到的解决方案,但它滚动了所需的 <div id="scrollto">到页面顶部而不是 <div id="maincontent"> 的顶部.

谢谢

最佳答案

您应该使用 .offset() 方法获取元素的实际顶部,并从滚动量中减去该值。

$(document).ready( function(){
  var elem = $('#scrollto');
  if(elem)
  {
    var main = $("#maincontent"),
        t = main.offset().top;
        main.scrollTop(elem.offset().top - t);
  }
});

Here's my fork of your fiddle

将滚动动画化可能会更令人印象深刻:

main.animate({scrollTop: elem.offset().top - t}, 500);

上面的第二个参数是以毫秒为单位的持续时间。更新后的示例为here .

关于jquery - 使用 jquery 在 div 内滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21179735/

相关文章:

javascript - ajax 发布数据错误 [object HTMLCollection]

javascript - JSON 数组转换为 HTML 选择选项

html - CSS 通过数据图像属性设置背景图像

javascript - 如何在 html 页面的其他内容上显示一个 div?

css - Bootstrap 基础

javascript - 导航栏下拉菜单(使用 Bootstrap )不起作用

javascript - 如何使用 javascript 回调函数检测文本区域中的 url?

php - 使用php和jquery从mysql中删除数据

javascript - AJAX 无法删除 DOM 数据

jquery - 我怎样才能将这个动画主题应用到我的网页背景中?