【问题标题】:displaying table row that is hidden in scrollbar显示隐藏在滚动条中的表格行
【发布时间】:2014-01-20 23:00:09
【问题描述】:

以下是我项目中表格的基本 html 代码。

<table>
    <tr id='someId'>
        <td><input type='checkbox'></td>
        <td>data 1</td>
        <td>data 2</td>
    </tr>
</table>

在这个表中,我有多行近 100 行,包含这个表的 div 的高度很小,所以这个 div 有一个滚动条。

一些复选框是默认选中的,在 jquery 中完成并且工作正常。

问题是我想显示在该滚动条中选中的最后一个复选框,就好像它位于表格底部一样,然后它隐藏在该滚动条中。 因此我想向下滚动选中最后一个复选框的位置,以便它直接显示在 jquery 中。

请帮忙..

【问题讨论】:

  • 你有开始使用的 jquery 脚本吗?
  • 不,实际上我不知道从哪里开始..
  • 一个好的开始是搜索方法scrollIntoView()

标签: jquery row html-table hidden


【解决方案1】:

这里是如何编写它的草稿版本。

$(document).ready(function() {
    var scrollTo = $('input:checked').last().offset().top;
    $('#idOfDivToScroll').scrollTop(scrollTo);
});

一些与主题相关的好读物:

http://api.jquery.com/checked-selector/

http://api.jquery.com/scrollTop/

【讨论】:

    【解决方案2】:
    $(document).ready(function () {
        var rowpos = $('#table input:checked').last().position();
        $('#container').scrollTop(rowpos.top);
    });
    

    应该关注表格的最后一个元素

    编辑: 看看这个Fiddle Demo

    【讨论】:

    • 检查 fiddle ,现在它将专注于最后检查的输入
    • position() 仅在页面滚动到顶部时起作用。
    • 您也可以使用 offset() 代替 position()。上面的代码可以工作
    • @Streamside 看看这个stackoverflow.com/questions/3202008/…使用offset很好,但是postion也可以。
    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 2018-08-17
    • 2018-12-03
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多