js吸顶导航

news2024/9/25 21:23:02

吸顶导航

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

吸顶导航栏的初始位置一般是靠近在页面的顶部位置,但是又存在一定距离,通常这块区域放置最为醒目或者重要元素的地方,如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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WAIC | 穿越千年!华院计算AIGC技术实现刘徽、祖冲之和毕达哥拉斯跨时空对话

祖冲之利用刘徽的割圆术&#xff0c;将圆周率π的近似计算精确到小数点后七位&#xff0c;这不仅是数学史上的一项重要突破&#xff0c;也是对无理数逼近问题的早期探索。在现代人工智能中同样能观察到数值逼近的思想&#xff0c;例如模型的训练通常依赖随机优化算法等数值方法…

2.贪心算法.基础

2.贪心算法.基础 基础知识题目1.分发饼干2.摆动序列3.最大子序和4.买股票的最佳时机24.2.买股票的最佳时机5.跳跃游戏5.1.跳跃游戏26.K次取反后最大化的数组和7.加油站8.分发糖果 基础知识 什么是贪心? 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 贪…

Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯

第33天&#xff0c;动态规划开始&#xff0c;新的算法&#x1f4aa;(ง •_•)ง&#xff0c;编程语言&#xff1a;C 目录 动态规划理论基础 动态规划的解题步骤 动态规划包含的问题 动态规划如何debug 509.斐波那契函数 70.爬楼梯 746.使用最小花费爬楼梯 总结 动态…

MSPM0G3507——时钟配置(与32关系)

先将32端时钟配置分为1&#xff0c;2&#xff0c;3如图 1是PSC左边未经分频的时钟源&#xff08;HZ&#xff09; 2是经过PSC分频的时钟信号&#xff08;HZ&#xff09; 3是最终的输出信号&#xff08;HZ&#xff09; 3输出的是一个定时器周期的HZ&#xff0c;可以转换成时间 …

哨兵系统:一套实时灵活可配置化的业务指标监控系统

简介: 在KOO分期的线下业务中&#xff0c;需要对很多关键业务指标进行实时监控&#xff0c;并需要根据一定的数据格式&#xff0c;通过企微机器人发往对应的企微群&#xff0c;因此KOO分期技术团队在KOO业务指标库之上&#xff0c;搭建了一套KOO分期业务指标监控系统&#xff…

ppt接单渠道大公开‼️

PPT 接单主要分两种&#xff1a;PPT 模板投稿和PPT 定制接单&#xff0c;我们先从简单的 PPT 模板投稿说起。 PPT 模板投稿 利用业余时间&#xff0c;做一些 PPT 模板上传到平台&#xff0c;只要有人下载你的模板&#xff0c;你就有收入。如果模板质量高&#xff0c;简直就是一…

Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析

章节内容 上一节我们完成了内容&#xff1a; Flume 启动测试Flume Conf编写Flume 测试发送和接收数据 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&#xff0c;但…

高德API接入安卓相关问题说明

高德API接入安卓相关问题说明 我们都在怀念过去&#xff0c;失去后我们才懂得珍惜&#xff0c;有些人或事早已经远去&#xff0c;可是还是会想起曾经拥有的岁月&#xff0c;会是一种喜悦&#xff0c;会是一种遗憾…… 目前Android开发已经普遍使用Android Studio&#xff0c;开…

优思学院|当今的丰田精益生产模式落伍了吗?

丰田曾经是全球销量最大的汽车制造商&#xff0c;不过现在却被挖苦为可能会成为下一个汽车界的“诺基亚”。 丰田的前CEO丰田章男对于电动汽车的前景持极度怀疑态度&#xff0c;今年4月他下台&#xff0c;由年轻14岁的佐藤恒治接任。这一变动反映了丰田对电动汽车态度的180度大…

streamlit table转置显示

streamlit table转置显示,并且原始的表头放在最左侧 原始表格 代码 import streamlit as st import pandas as pd# 创建一个示例 DataFrame data {Column1: [1, 2, 3],Column2: [4, 5, 6],Column3: [7, 8, 9] } df pd.DataFrame(data)# 转置 DataFrame transposed_df df.T…

进程,进程的调度,进程的调度算法(详解)ฅ( ̳• · • ̳ฅ)

目录 &#x1f607;进程的概念&#xff1a; &#x1f61a;进程的组成&#xff1a; &#x1f970;进程的调度&#xff1a; 一.进程调度的概念&#xff1a; 二.进程调度的方式&#xff1a; 三.进程调度的时机&#xff1a; &#x1f92a;进程的调度算法&#xff1a; 一.先…

如何通过运动改善老年人的腿部肌肉力量?

老年人腿部肌肉力量的重要性 随着年龄的增长&#xff0c;肌肉自然会逐渐萎缩&#xff0c;特别是腿部肌肉。腿部肌肉的强弱直接影响到老年人的行走能力、平衡能力和日常生活的自理能力。因此&#xff0c;通过适当的运动来改善和增强腿部肌肉力量对于老年人来说至关重要。 适合老…

1Panel安装教程:使用Linux服务器安装1Panel面板全流程

使用阿里云服务器安装1Panel面板全流程&#xff0c;云服务器操作系统为CentOS 7.9&#xff0c;安装1Panel非常简单&#xff0c;先执行1Panel安装命令&#xff0c;然后在云服务器安全组中开通1Panel默认端口号、安全入口、用户名和密码等操作&#xff0c;阿里云百科整理详细安装…

前端八股文 跨域

前端跨域和常见解决方案 一、什么是跨域 同源策略是一个重要的安全策略&#xff0c;它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的 资源进行交互。它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介。 有一点必须要注意&#xff1a;跨域并不是请求发不…

Unity插件 Unitask学习日志

Unity插件 Unitask学习日志 下载地址 https://github.com/Cysharp/UniTask点击这里可以查阅中文文档 在Unity 2020,2021 中使用UPM下载会找不到&#xff0c;可以使用2022版本的unity可以在upm中找到。 安装方式&#xff1a; 下载zip之后解压&#xff0c; 复制Plugins 到Uni…

化工厂定位系统有哪些功能?

有伙伴了解化工厂定位系统吗&#xff1f;相信很多小伙伴都没有听说过&#xff0c;感觉离我们的生活比较远&#xff0c;事实上化工厂定位系统也是默默的在保护我们的安全。今天新锐科创就给大家介绍一下这个系统&#xff0c;让大家简单的了解一下。 大家都知道化工厂一直是一个比…

【LLM大模型】如何在LlamaIndex中使用RAG?

如何在LlamaIndex中使用RAG 什么是 Llama-Index LlamaIndex 是一个数据框架&#xff0c;用于帮助基于 LLM 的应用程序摄取、构建结构和访问私有或特定领域的数据。 如何使用 Llama-Index ? 基本用法是一个五步流程&#xff0c;将我们从原始、非结构化数据导向基于该数据生成…

本地部署 SenseVoice - 阿里开源语音大模型

本地部署 SenseVoice - 阿里开源语音大模型 1. 创建虚拟环境2. 克隆代码3. 安装依赖模块4. 启动 WebUI5. 访问 WebUI 1. 创建虚拟环境 conda create -n sensevoice python3.11 -y conda activate sensevoice 2. 克隆代码 git clone https://github.com/FunAudioLLM/SenseVoic…

【Linux进阶】文件系统2——MBR和GPT

1.磁盘的分区 因为如果你的磁盘被划分成两个分区&#xff0c;那么每个分区的设备文件名是什么&#xff1f; 在了解这个问题之前&#xff0c;我们先来复习一下磁盘的组成&#xff0c;因为现今磁盘的划分与它物理的组成很有关系。 我们谈过磁盘主要由碟片、机械手臂、磁头与主轴马…

C++Windows环境搭建(CLion)

文章目录 CLion下载安装CLion下载CLion安装新建项目 CLion下载安装 CLion下载 打开网址&#xff1a;https://www.jetbrains.com/clion/download/ 点击Download进行下载。 CLion安装 双击下载好的安装包&#xff1a; 进入到安装页面&#xff0c;点击下一步&#xff1a; 选…