html - 通过 HTML 和 CSS 使表格自动垂直滚动

标签 html css twitter-bootstrap

我有一个简单的 Bootstrap 表,我试图让它自动垂直滚动。这样做的原因是表格将显示在屏幕上并且表格中可能有 10 个或 100 个元素。所以我希望它自动垂直滚动,这样用户就不必手动进行。到达终点后,它会重置并从顶部开始......

到目前为止,这是我的标记:

<div class="table-responsive" style="height: 700px; overflow: auto;">
  <table class="table table-bordered table-hover">
    <thead>
      <tr>
        <th style="text-align: left; font-size: 23px;">#</th>
        <th style="text-align: left; font-size: 23px;">Name</th>
        <th style="text-align: left; font-size: 23px;">Description</th>
        <th style="text-align: left; font-size: 23px;">Date</th>
      </tr>
    </thead>
    <tbody>
      <tr class="danger">
        <td style="text-align: left; font-size: 16px;">1213</td>
        <td style="text-align: left; font-size: 16px;">John Doe</td>
        <td style="text-align: left; font-size: 16px;">my short description</td>
        <td style="text-align: left; font-size: 16px;">Today's Date</td>
      </tr>
    </tbody>
  </table>
</div>

注意:我希望仅使用 HTMLCSS 即可实现。

有什么建议吗?

最佳答案

JS(或 jQuery)需要获取实际元素 heightscrollHeight 并对这些值执行动画

var $el = $(".table-responsive");
function anim() {
  var st = $el.scrollTop();
  var sb = $el.prop("scrollHeight")-$el.innerHeight();
  $el.animate({scrollTop: st<sb/2 ? sb : 0}, 4000, anim);
}
function stop(){
  $el.stop();
}
anim();
$el.hover(stop, anim);
.table-responsive{
  height:180px; width:50%;
  overflow-y: auto;
  border:2px solid #444;
}.table-responsive:hover{border-color:red;}

table{width:100%;}
td{padding:24px; background:#eee;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="table-responsive">
  <table class="table table-bordered table-hover">
    <thead>
      <tr><th>#</th></tr>
    </thead>
    <tbody>  
      <tr><td>1</td></tr>
      <tr><td>2</td></tr> 
      <tr><td>3</td></tr> 
      <tr><td>4</td></tr> 
      <tr><td>5</td></tr> 
      <tr><td>6</td></tr> 
      <tr><td>7</td></tr> 
      <tr><td>8</td></tr> 
      <tr><td>9</td></tr> 
      <tr><td>10</td></tr> 
    </tbody>
  </table>
</div>

关于html - 通过 HTML 和 CSS 使表格自动垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36873753/

相关文章:

javascript - JQuery 相同高度 DIV

css - 我怎样才能让悬停的菜单项保持打开状态,以便我可以用 Firebug 编辑它的样式?

javascript - 如何显示数字输入类型的自定义验证消息

javascript - 为什么我不能切换类(class)?

javascript - 我可以从哪个动画中选择一个特定的百分比来继续吗?

python - Django 如何将切换开关/复选框状态分配给变量并将其传递给views.py?

javascript - 如何返回元素 ID 而不是 [object HTMLDivElement] (Prototype.js)

jquery - IE9 中 HTML 和 CSS 的处理顺序

html - 防止链接扩展到整个页面

html - 在容器内 Bootstrap div