js吸顶导航

实现滑动滚动吸顶式导航栏的HTML5、CSS3与JavaScript技术解析 htmltable {th, td {th {pre {简介:滑动滚动吸顶式导航栏是提供高效导航的网页设计技术,特别适用于内容丰富的网站。在用户滚动时,导航栏会固定在屏幕顶部,避免了不断滚动回到页面顶部的麻烦。文章将探讨实现此效果所需的HTML5、CSS3和JavaScript技术,包括HTML5的语义化标签、CSS3的固定定位和过渡效果,以及JavaScript的滚动事件监听。通过这些技术的组合,我们可以创建出响应用户滚动的导航栏,增强用户体验。 阅读详情

吸顶导航

当我们浏览页面篇幅较大,浏览过半的时候想回到导航位置,只能通过往回滚动或通过”回到顶部”重新滚动到导航位置,这样的操作显得繁琐与不便。于是便有了吸顶式导航的交互方式,吸顶条导航最大的好处是将最常用或者设计者最愿意让用户看到的内容、功能经常保持在用户面前,为用户提供了极大的便利与交互体验。

吸顶导航栏的初始位置一般是靠近在页面的顶部位置,但是又存在一定距离,通常这块区域放置最为醒目或者重要元素的地方,如Banner图。
当页面向下滚动时超过了吸顶导航的初始位置时,需要把吸顶导航栏固定在窗口顶部,一般吸顶导航栏还可以替换成文章标题栏,搜索框、tab条等等,例如百度糯米,天猫,淘宝最为常用。它们共同点是在内容或者功能上比较重要,但又不是最重要的元素,最重要的一般会放置于顶部。

吸顶方案

通过判断页面滚动高度,修改导航条的定位样式
滚动条滚动到一定高度触发吸顶的时候 给header添加 fixed类名
滚动条滚动高度不到触发吸顶效果高度的时候 移出fixed类名
触发高度 = 导航的 getPosition()
金蝉脱壳 > 导航条触发吸顶的时候 给一个临时节点来占位 一个空标签 高度 = hedader的高度

吸顶案例

没吸顶时
在这里插入图片描述

吸顶时
在这里插入图片描述
代码

<!DOCTYPE html>
<html lang="zh-cn">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>吸顶导航</title>
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/public.css">
  <link rel="stylesheet" href="css/header.css">
  <style>
    .cq-header {
      background-color: #222;
    }

    .cq-header.fixed {
      background-color: #fff;
      position: fixed;
    }

    .cq-header.fixed .cq-head-nav a {
      color: #222;
    }

    .fill-wrap {
      height: 490px;
      margin: 10px 0;
    }

    .bg222 {
      background-color: pink;
    }

    .bg960 {
      background-color: #960;
    }

    .bg0f5 {
      background-color: #0f5;
    }

    .bg368 {
      background-color: #368;
    }

    .fill-wrap.h80 {
      height: 80px;
    }
  </style>
</head>

<body>
  <div class="fill-wrap bg222 h80"></div>
  <div id="head" class="cq-header">
    <div class="cq-head-wrap w1160 flex flex-between">
      <div class="cq-head-logo">
        <h1>
          <span class="visib-hid">橙子</span>
          <a href="#">
            <img id="logo" src="images/logo-rev.png" width="92" height="36" alt="logo">
          </a>
        </h1>
      </div>
      <div class="cq-head-nav flex ">
        <ul class="flex ">
          <li><a href="#" class="pr10">首页</a></li>
          <li class="pull-list ">
            <ul class="pull-list-item">
              <li><a href="#">橙品牌</a></li>
              <li><a href="#">橙金融</a></li>
              <li><a href="#">橙积分</a></li>
              <li><a href="#">橙营销</a></li>
              <li><a href="#">橙福利</a></li>
            </ul>
          </li>
          <li><a href="#">橙权益</a></li>
          <li><a href="#">行业案例</a></li>
          <li><a href="#">新闻动态</a></li>
          <li><a href="#">关于我们</a></li>
        </ul>
      </div>
    </div>
  </div>
  <div class="fill-wrap bg222"></div>
  <div class="fill-wrap bg960"></div>
  <div class="fill-wrap bg0f5"></div>
  <div class="fill-wrap bg368"></div>

  <script src='js/common.js'></script>
  <script>
    var oHead = $('#head')
    var ceilTop = getPosition(oHead).top
    var oLogo = $('#logo')
    var temp 
    
    document.addEventListener('scroll', function () {
      console.log(getElementScroll())
      if(getElementScroll().top > ceilTop){
        if(!temp){
          temp = createDom()
          oHead.classList.add('fixed')
          oLogo.src ="images/logo.png"
        }
      }else{
        if(temp){
          oHead.classList.remove('fixed')
          oLogo.src ="images/logo-rev.png"
          temp.remove()
          temp = null
        }
      }
    }, false)

    function createDom () {  //占位元素
      var vDom = document.createElement('div')
      vDom.id = 'temp' 
      vDom.style.height = ceilTop + 'px'
      document.body.insertBefore(vDom, oHead)
      return {
        'remove': function(){
          vDom.remove();
        }
      }

    }
  </script>
</body>

</html>
光模块基础知识【快速入门】02 光模块是用于交换机与设备之间传输的载体,是光纤通信系统中的核心器件。主要作用是发射端将设备的电信号转换成光信号。 光纤通道光模块和以太网光模块 光纤通道光模块 光纤通道(FC, Fiber Channel)是一种高速网络数据传输协议。光纤通道协议可以有序无损地传输原始数据,它主要用于在数据中心、电脑服务器、交换机与存储网络中进行数据传输。 FC光模块遵循FC协议,充当着光纤通道系统之间的接口,也是光纤存储网络设备间的接口。它们主要用于数据中心的光纤通道存储网络链接中。 FC光模块具有小型化和低. 阅读详情

相关推荐

7-1 链式基数排序 (20 分)

7-1 链式基数排序 (20 分) 实现链式基数排序,待排序关键字n满足1≤n≤1000,最大关键字数位≤5。 输入样例: 第一行输入待排序个数n(1≤n≤1000),再输入n个数(n的数位≤5)。 10 278 109 63 930 589 184 505 269 8 83 输出样例: 输出每趟分配-收集后链表中的关键字,趟数为序列中最大值的数位(如样例中930的数位为3),每行结尾有空格。 930 63 83 184 505 278 8 109 589 269 505 8 109 930 63 26

OwemShu的博客 4238

JS实现吸顶效果

当需要吸顶时,将header的position设置为fixed,并设置top和z-index等样式;使用CSS的position: sticky属性,将需要吸顶的元素的position属性设置为sticky,并设置相应的top和z-index等样式,即可实现吸顶效果。需要注意的是,该属性的兼容性并不是很好,需要针对不同的浏览器进行兼容处理。监听页面滚动事件,当滚动到一定位置时,将需要吸顶的元素的定位改为fixed,并设置相应的样式,如top和z-index等。

weixin_56006480的博客 2431

Windows 高精度计时器:QueryPerformanceCounter 原理、陷阱与最佳实践

本文深入解析Windows高精度计时器QueryPerformanceCounter(QPC)的工作原理、常见陷阱及最佳实践。QPC通过读取硬件计时器(如TSC)实现微秒级精度,适用于游戏开发、音视频处理等高性能场景。文章详细探讨了多核同步、动态频率调整等挑战,并提供了优化代码示例和性能对比数据。

weixin_33391446的博客 271

JS 实现的吸顶效果

div id="header"> nav 需要吸顶的元素 页面内容

学习博客 记录技术文档及心得体会 1535

五子棋AI实战:极大极小搜索、Alpha-Beta剪枝与禁手实现

博弈树搜索是双人零和博弈AI的经典决策框架,其核心思想是假设对手最优应对,通过递归遍历走法空间寻找最优解。极大极小搜索配合Alpha-Beta剪枝,能在不影响决策结果的前提下将搜索量降至平方根级别,大幅提升搜索效率。在五子棋场景中,还需处理黑棋禁手规则,包括双三、双四和长连判定,并将其融入搜索框架。评估函数基于棋型识别对局面打分,走法排序和迭代加深进一步优化剪枝效果。这些技术共同构成了一个可运行的五子棋AI,适用于棋类AI入门与博弈搜索实践。

weixin_29054399的博客 131

2022年电赛E题声源定位跟踪系统

电赛声源定位

qq_53357019的博客 2万+

吸顶导航(滚动一定距离后显示另一个导航)

使用VueUse实现吸顶导航

weixin_46058007的博客 308

波分复用技术原理

波分复用原理 把不同波长的光信号复用到同一根光纤中进行传送,这种方式我们把它叫做波分复用( Wavelength Division Multiplexing ) 一根光纤被划分为多个波道,多个波长以一定的间隔隔开,在光纤中独立传输。 波分复用应用演示 如果将WDM系统看作交通系统,光纤可以看作是多个车道的公用道路。 各种类型的业务就像货物一样,被打包装载到车辆中。 车辆按照分配的车道行驶至目的地,完成货物的运输。 想要提高波分复用系统的传输容量,就要增加波道数量或是提升单波传...

m0_63251770的博客 9997

js 吸顶实现

效果: 第一种实现:使用DOM 主要思路是根据实时监听滚动条被向下拉动的距离,当其距离顶端小于某一值时使用position: fixed 固定。 核心代码 //获取距离页面顶端的距离 let titleTop = tit.offsetTop; //滚动事件 document.onscroll = function(){ ...

dk123sw的博客 2118

TSMC 65nm PDK衬底文件转换避坑记:从.itf到.itd,解决ADS导入乱码与金属层缺失

本文详细解析了TSMC 65nm PDK衬底文件从.itf到.itd转换过程中的常见问题及解决方案,包括ADS导入乱码与金属层缺失的修复方法。通过环境准备、文件定位、转换操作和问题诊断的完整流程,帮助工程师高效完成衬底文件转换,确保电磁仿真精度。

weixin_30855099的博客 301

【Dify】PPT生成工具应用

本文介绍了一款自动化PPT生成工具,通过智能接口将文本内容高效转化为结构化演示文档。该系统采用三阶段工作流(内容输入、HTTP请求上传、文件输出),无需复杂操作即可生成专业PPT。工具适用于教学课件、产品发布、企业培训等场景,能显著提升内容表达效率,特别适合初学者快速制作演示材料。文章详细说明了核心节点、应用场景及开发资源,为文本到PPT的自动化转换提供了实用解决方案。

Mr数据杨 1218

原生JS 实现吸顶效果的三种方式

〇、三种方法的优劣 intersectionObserver本以为是最优解,实现时发现效果并不好。 因为这个API的优先级比较低,每次都要等待页面渲染完成之后才能再次响应,所以在快速滑动的时候会出现抖动。 流畅度:CSS >= scroll > intersectionObserver 性能:CSS>= intersectionObserver >= scroll 兼容性:scroll > intersectionObserver > CSS 一、通过监听全局scro

sspu_admin 1611

python3.12 百分百解决安装dlib失败问题【研究原理后Bug已解决】

python3.12 百分百解决安装dlib失败问题【研究原理后Bug已解决】 python3.12版本下安装dlib失败。截图如下。试了网上很多方法都失败,耗费了很多时间终于找到适用于python3.12版本安装dlib的方法,亲测百分百成功。几乎尝试了所有的方法都不太行。终于找到安装的方法了。 原因分析: 版本匹配问题。我们现在是python3.12 使用pip根本无法安装。下面我们一起手动安装,1分钟搞定。

一键难忘的博客 7129

原生js吸顶式导航条

<!--吸顶式导航条--><nav class="nav"> <div> <a href="javascript: return false"><img src="n.jpg" alt=""></a> <div class="topNav">...

antixian2066的博客 217

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

原生js实现阴阳师吸顶导航

大家好,今天给大家分享一篇用html+css+js实现阴阳师吸顶导航的代码。 参考博主 快餐只吃金拱门 如有侵权还请速速联系!!! 1,案例效果 2,HTMLl部分, 这里使用无序列表ul嵌套a标签来书写导航。 <div class="yys"> <div class="header"> <div class="menu">

Infatuatedmonkey的博客 1111

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

js使导航吸顶

直接使用下面方法即可,导航的ID命名为nav // An highlighted block //吸顶 window.onload = function() { var nav = document.getElementById("nav"); //获取页面nav元素 var navTop = nav.offsetTop; //获取nav距离顶部的距离 //滚动条滚动时执行函数 window.on

jia2799897415的博客 293

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

原生JavaScript实现导航栏吸顶功能

原生JavaScript实现导航栏吸顶功能 这个功能涉及到几个函数的运用: **getBoundingClientRect() :**用于获取元素相对于视窗的位置集合,包含top,right,bottom,left等。 **createElement() :**用于创建新的元素或者标签。 parentNode : 返回父级节点。 **replaceChild(A,B) :将B节点替换为A节点。 **A.appendChild(B) :**把B中的元素添加到A。 **offsetTop :**表示距

weixin_46538895的博客 1080

使用Vue.js插件vue-headroom实现吸顶导航

使用Vue.js插件vue-headroom实现吸顶导航

qq_35214930的博客 492

原生 JS 实现滚动导航吸顶:智能吸顶 + 高亮联动 + 平滑过渡(附完整源码)

本文详解原生 HTML+CSS+JavaScript 实现企业级滚动导航吸顶功能,突破基础吸顶的生硬切换,整合智能吸顶 / 取消吸顶、滚动高亮联动、平滑过渡动画、响应式适配、防抖节流优化等核心特性。从 DOM 监听、样式切换到性能优化,逐步拆解实现逻辑,提供完整可运行源码,代码模块化封装、注释清晰,可直接集成到官网、博客、商城、后台管理等各类长页面,同时补充兼容性处理和扩展方向,既是前端入门的经典交互案例,也是提升页面用户体验的实用组件。

阿雷编程实战 652

Js如何实现当网页超过一屏时导航菜单始终置顶-吸顶盒效果

前言我们平时在逛一些电商网站时,无论是首页还是详情页,通常会有一个导航菜单石红跟随着页面,无论是页面滚动到中间还是底部这是为了方便用户查看商品的各类信息或提交订单购物也就是吸顶盒效果,那这个效果是怎么实现的?原生Js如下是原生js//初始化函数 functioninit(){ //获取顶部元素的DOM varwrap=document.getElementById("...

itclanCoder 1140

JavaScript 实现导航吸顶

JavaScript实现小效果:导航吸顶,当滚动一定距离时,导航固定在顶部。 HTML: <header id="head"> <img src="./images/top.png" alt=""> </header> <nav id="nav"> <img src="./images/na...

start_XUEBA的博客 316

JS导航吸顶特效

效果图 HTML <header id="header"> <img src="图片/header.PNG" alt=""> </header> <nav id="nav"> <img src="图片/navPNG.PNG" alt=""> </nav> <section id="section"&gt...

凭澜偏偏 957

html网页中吸顶栏效果,5行js代码搞定导航吸顶效果

一、HTML布局首先写HTML布局二、CSS样式给点简单的样式*{margin: 0;padding: 0;}body{height: 2000px;background-image: linear-gradient(-180deg, #15f09d 0%, #25A0FF 50%, #fca72b 100%);}#wrap{background-color: rgba(0,0,0,0.2);wi...

weixin_42401338的博客 697

原生js实现导航栏吸顶

实现滑动滚动条让导航栏吸顶原理:主要是通过监听scroll,设定一个滚动条垂直位移作为临界,让导航栏吸顶或者取消吸顶。 话不多说了,代码如下: window.onscroll = function () { var scrollT = document.documentElement.scrollTop || document.body.scrollTop; // ...

weixin_30454481的博客 377

原生 JavaScript 实现吸顶导航(滚动吸顶 + 平滑过渡 + 兼容优化)

吸顶导航是现代网页中非常常见的交互效果,当页面滚动到一定位置时,导航栏自动固定在页面顶部,持续为用户提供操作入口,大幅提升浏览体验。本文使用原生 JavaScript 实现一套高性能、无抖动、兼容良好的吸顶导航组件,支持滚动触发吸顶、离开恢复原位、平滑过渡动画、背景色变化、响应式适配,零依赖、代码简洁、可直接用于企业官网、商城、博客、后台系统等各类项目

阿雷编程实战 375

原生javascript实现导航栏吸顶

导航栏的吸顶效果非常简单,可以说没有技术难度可言,但是既然遇到了,还是选择记录下来,可能会帮到部分小白。(demo链链接在最后面) 实现原理非常简单: 1.编写一个吸顶的css样式 2.div结构 3.封装一个获取滚动条位置的函数; 4.用window.onscroll =function(){}实时监听滚动条。 5.通过滚动条的位置判断,当大于某个指定值的时候(这里设置为...

web那些事 2682
上一篇: JS之防抖和节流
下一篇: javascript DOM BOM 笔记
喵_美
博客等级 码龄11年 445粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值