jQuery 滚动时收缩的粘性头

当网页内容过长时,为了提高用户体验,我们通常会使用滚动条来让用户方便地浏览页面。然而,页面顶部的导航栏等界面元素也随之滚出视野范围,可能会影响用户操作与浏览体验。因此,粘性头(sticky header)应运而生。

粘性头是指当用户向下滚动页面时,页面的某一区域会“粘”在屏幕顶端,不再跟随滚动而消失。它可以让用户方便地随时回到页面其他位置或访问导航等功能,并且不占据太多屏幕空间。

本文将介绍如何通过 jQuery 实现滚动时收缩的粘性头效果,同时提供详细的代码及演示。

粘性头的基本实现

首先,我们需要一个基本的 HTML 结构和 CSS 样式,其中包括导航栏和要粘住的元素。这里我们使用 Bootstrap 的样式来简化布局。

---- ------------- ---------------- ------------ -------- -----------
  -- -------------------- --------------- ----------
  ------- ---------------------- ------------- ---------------------- -------------------------------- --------------------------------- --------------------- ------------------ ------------
    ----- -----------------------------------
  ---------
  ---- --------------- ---------------- -----------------------
    --- -------------------
      --- --------------- --------
        -- ---------------- -----------------
      -----
      --- -----------------
        -- ---------------- ------------------
      -----
      --- -----------------
        -- ---------------- --------------------
      -----
    -----
  ------
------

---- ----------------
  ---------- ------ ---------
  -------- ----- ----- --- ----- ----------- ---------- ----- ------ ------- ---- ----- --- ------- ------- ----- --------- ---- --- ------ -------- ---------- ----- -- ---- -- --- ------- ------- ----- -- ------ ---- ------ --------- ------- --- ------ --- --------- -- ---------- ---- ----- ------ -- -------- ---- ------ -- -------- ------- ------- ------ ------------ -------- ----- --------- -------- -- ----- -- --------- ----- -- ------ -------- ------ --- ----- ---- ----- -------- -------- -- --- ---- --- --- ---- --- ----- ------- ------------- ------- ------ ------ -- ------ -------- ------- --------- ---- ------------ -- --------- ------- ----- --- ---- ----- ---- --------- --- ----------- ------------
  ---- ---- ------- ---- ---
------
---- -
  ------------ -----
-

-------- -
  -------- -----
-

接下来,我们使用 jQuery 监听页面滚动事件,并在滚动时判断是否需要固定导航栏。

--- ------ - -------------

--------------------------- -
  -- -------------------- - --- - -- ------------------
    ----------------------------- -- -- --------- --
  - ---- -
    -------------------------------- -- -- --------- --
  -
---

这里的 fixed-top 样式是 Bootstrap 的类之一,可以让元素固定在屏幕顶端。当滚动距离超过 40px 时,我们就给导航栏添加该样式,使其固定在屏幕顶端;否则,我们就移除该样式。

到此为止,我们

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/12099