当前位置: 首页 > 面试题库 >

当用户使用jQuery将其滚动到视图外时,表头保持固定在顶部

韦衡
2023-03-14
问题内容

我正在尝试设计一个HTML表,当用户将其滚动到视图外时,并且仅当页眉停留在页面顶部时。例如,表格可能比页面低500像素,我该如何制作表格,以便如果用户将标题滚动到视图之外(浏览器以某种方式不再在Windows视图中检测到它),它将保持在顶部?任何人都可以给我一个Javascript解决方案吗?

<table>
  <thead>
    <tr>
      <th>Col1</th>
      <th>Col2</th>
      <th>Col3</th>
    </tr>
  </thead>
  <tbody>
     <tr>
       <td>info</td>
       <td>info</td>
       <td>info</td>
     </tr>
     <tr>
       <td>info</td>
       <td>info</td>
       <td>info</td>
     </tr>
     <tr>
       <td>info</td>
       <td>info</td>
       <td>info</td>
     </tr>
  </tbody>
</table>

因此,在上面的示例中,<thead>如果页面不可见,我希望随页面一起滚动。

重要信息:我 不是 在寻找<tbody>具有滚动条的解决方案(溢出:自动)。


问题答案:

您可以通过点击上的scroll事件处理程序window并使用另一个table具有固定位置的事件处理程序来执行此操作,以在页面顶部显示标题。

HTML:

<table id="header-fixed"></table>

CSS:

#header-fixed {
    position: fixed;
    top: 0px; display:none;
    background-color:white;
}

JavaScript:

var tableOffset = $("#table-1").offset().top;
var $header = $("#table-1 > thead").clone();
var $fixedHeader = $("#header-fixed").append($header);

$(window).bind("scroll", function() {
    var offset = $(this).scrollTop();

    if (offset >= tableOffset && $fixedHeader.is(":hidden")) {
        $fixedHeader.show();
    }
    else if (offset < tableOffset) {
        $fixedHeader.hide();
    }
});

当用户向下滚动足够远以隐藏原始表头时,将显示表头。当用户再次向上滚动页面足够远时,它将再次隐藏。



 类似资料:
  • 我有一个div类,这个类与一个小的JavaScript函数相关联,它将使div显示为全屏。"也就是说,的宽度和高度将是100%”。 因此,高度和宽度不是固定的,它是根据窗口的缩小动态计算的。 在该div下,还有另一个具有ID标头“导航栏”的标头,标头最初相对定位在div.fullscreen-然而,我试图将其定位为固定,当#标头的顶部到达顶部时浏览器窗口。 所以这里是我正在玩的,它切换固定的风格,

  • 本文向大家介绍jQuery 顶部导航跟随滚动条滚动固定浮动在顶部,包括了jQuery 顶部导航跟随滚动条滚动固定浮动在顶部的使用技巧和注意事项,需要的朋友参考一下  

  • 问题内容: 如何在页面滚动期间保持背景图像固定?我有此CSS代码,并且图像是身体的背景,而不是 问题答案: background-attachment: fixed;

  • 我使用activity_main.xml在我的Android应用程序中使用了滚动视图。滚动工作正常。但问题是我需要添加一个“滚动到顶部”按钮,以便如果用户开始滚动该按钮,则按钮应该像下面的链接一样可见。 http://web designer wall . com/demo/scroll-to-top/scroll totop . html? 我需要在Android中这样做。。

  • 问题内容: 我的页面相当长,并且在布局菜单中有一个弹出菜单。我希望菜单的弹出部分显示在页面顶部,即使用户将菜单栏滚动到视线之外。这是菜单的HTML 这是脚本。我将导航栏“ .frozen_top”锁定到滚动浏览器窗口的顶部(到目前为止,它可以正常工作),但是此外,一旦锁定,我想更改“ 问题答案: 与其那样做,不如在窗口滚动后不让弹出按钮通过某个高度: jQuery CSS

  • 问题内容: 最近,我在新的gmail和HTML5 bing预览中看到了一个有趣的新功能,该功能可在滚动时将导航栏固定在浏览器窗口的顶部。该栏可能从页面向下100px开始,但是当您滚动并到达浏览器窗口顶部时,它会固定在那里,直到您向上滚动到其最初位置为​​止。 我的问题是;我该怎么做或做类似的事情? 希望您能理解我的问题以及我要描述的内容。 问题答案: 如果您希望元素在页面上进一步向下移动,然后在向