网站导航栏下滑隐藏,上滑显示,效果杠杆,兼容性强

news2024/11/29 4:45:11

前言

导航栏是网站必不可少的一部分,那么,导航栏应该怎么样子实现,可以高效自定义兼容开发呢?当然,不仅要实现,而且还要实现导航栏顶部固定位置,下拉隐藏,稍微往上滑动就会出现,而且到顶端就直接显示在原有的位置。实现功能的同时,还要平缓的过渡?下面我们将一起探讨下如何去实现

一、实现的案例

实现功能:

1、左边为logo。logo有一个刷新动作

2、右边为导航栏目录

3、下拉实现隐藏

4、上滑实现固定头部

5、到达顶部显示默认位置

二、实现代码

1.html

<div>
    <div class="top-bar">
            <div class="new-header container clearfix">
                <div class="top-bar-left pull-left navlogo">
                    <a class="logo box" src="#">
                        <img src="https://www.zhaojiajuwang.com/img/common/ativity_2.png" alt="">
                        <b class="shan"></b>
                    </a>
                </div>


                <div class="top-bar-left header-nav fl">
                        <ul class="top-bar-menu nav-pills">
                            <li class="navbar-item">
                                <a href="">首页</a>
                            </li>
                            <li class="navbar-item">
                                <a href="">商城中心</a>
                            </li>
                            <li class="navbar-item">
                                <a href="">公司简介</a>
                            </li>
                            <li class="navbar-item">
                                <a href="">活动专区</a>
                            </li>
                            <li class="navbar-item">
                                <a href="">详情介绍</a>
                            </li>
                            <li class="navbar-item">
                                <a href="">商家中心</a>
                            </li>
                        </ul>
                </div>
            </div>
        </div>


</div>

2.js

$(function() {
                var f = $(".top-bar");
                var R = $(document).scrollTop();
                var d = $(document);
                var L = $(".fixed-nav").outerHeight();
                $(window).scroll(function() {
                    var a = $(document).scrollTop();
                    if (d.scrollTop() >= 30) {
                        f.addClass("fixed-nav");
                        $(".navTmp").fadeIn()
                    } else {
                        f.removeClass("fixed-nav fixed-enabled fixed-appear");
                        $(".navTmp").fadeOut()
                    }
                    if (a > L) {
                        $(".fixed-nav").addClass("fixed-enabled")
                    } else {
                        $(".fixed-nav").removeClass("fixed-enabled")
                    }
                    if (a > R) {
                        $(".fixed-nav").removeClass("fixed-appear")
                    } else {
                        $(".fixed-nav").addClass("fixed-appear")
                    }
                    R = $(document).scrollTop()
                })
});

3.css

.top-bar {
	position: relative;
	width: 100%;
	z-index: 69;
	box-shadow: 0px 5px 40px 0px rgba(17,58,93,0.1) !important;
	background-color: rgba(255,255,255,1);
	border-top: 0px solid rgba(221, 221, 221, .221);
}
.container {
	max-width: 1300px;
}
.new-header {
	border-bottom: 1px solid rgba(0,0,0,.05);
	background-color: rgba(255,255,255,0);
	position: relative;
	background-image: url(https://www.qiyueyun.cn/zb_users/theme/downlee/style/images/top-fr-bg.png);
	background-position: center right;
	background-size: auto 100%;
}
.shan {
	content: "";
	position: absolute;
	-webkit-animation: changeImg 3.5s;
	-o-animation: changeImg 3.5s;
	animation: changeImg 3.5s;
	top: 0;
	width: 30%;
	height: 100%;
	background: linear-gradient(to right,rgba(255, 255, 255, 0.25) 0,rgba(255, 255, 255, 0.58) 50%,rgba(255, 255, 255, 0.25) 100%);
	transform: skewX(-45deg);
	animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes changeImg {
	from {
			left: -100%;
	}
	100% {
			left: 200%;
	}
}
.pull-left {
	float: left;
}
a.logo.box {
	position: relative;
	overflow: hidden;
	display: block;
	cursor: pointer;
	margin: 0 auto;
	line-height: 50px;
	white-space: nowrap;
}
a.logo.box img {
	display: inline-block;
	height: 57px;
}
.top-bar-left.header-nav {
	margin-left: 30px;
}
.nav-pills {
	float: left;
	font-size: 14px;
}
.nav-pills li {
	width: auto;
	position: relative;
	list-style: none;
	display: block;
	float: left;
	margin-right: 30px;
}
.nav-pills li:before {
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -1px;
	left: 50%;
	background-color: #0188FB;
	content: '';
	transition: all .6s;
	z-index: -1;
}
.nav-pills li a {
	line-height: 57px;
	display: block;
	color: #000000;
	font-size: 15px;
}
.nav-pills > li:hover:before{
	width: 100%;
	left: 0;
}

.nav-pills li:hover > a{
	color: #0188FB;
}
.top-bar.fixed-nav{
	left: 0;
	top: 0;
	width: 100%;
	-webkit-transition: all .3s ease-out 0s;
	-o-transition: all .3s ease-out 0s;
	transition: all .3s ease-out 0s;
}
.fixed-nav.fixed-enabled {
	position: fixed;
	top: -60px;
	z-index: 9999;
	-webkit-animation-name: slideDown;
	-moz-animation-name: slideDown;
	-o-animation-name: slideDown;
	animation-name: slideDown;
}
.fixed-nav.fixed-appear{
	position: fixed;
	top: 0;
	z-index: 9999;
	-webkit-animation-name: slideUp;
	-moz-animation-name: slideUp;
	-o-animation-name: slideUp;
	animation-name: slideUp;
	-webkit-box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
	box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
}

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

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

相关文章

Android View的 getHeight 和 getMeasuredHeight 的区别

前言 先简单复习一下Android View 的 绘制顺序&#xff1a; 1、onMeasure&#xff08;测量&#xff09;&#xff0c;先根据构造器传进来的LayoutParams&#xff08;布局参数&#xff09;&#xff0c;测量view宽高。 2、onLayout&#xff08;布局&#xff09;&#xff0c;再根…

鸿蒙HarmonyOS4.0开发应用学习笔记

黑马程序员鸿蒙4.0视频学习笔记&#xff0c;供自己回顾使用。1.安装开发工具DevEco Studio 鸿蒙harmony开发文档指南 DevEco Studio下载地址 选择或者安装环境 选择和下载SDK 安装总览 编辑器界面 2.TypeScript语法 2.1变量声明 //string 、number、boolean、any、u…

【Vue第2章】Vue组件化编程

目录 2.1 模块与组件、模块化与组件化 2.1.1 模块 2.1.2 组件 2.1.3 模块化 2.1.4 组件化 2.2 非单文件组件 2.3.1 代码 2.3.1.1 基本使用 2.3.1.2 几个注意点 2.3.1.3 组件的嵌套 2.3.1.4 VueComponent 2.3.1.5 一个重要的内置关系 2.3 单文件组件 2.3.1 一个.v…

网络安全威胁——计算机病毒

计算机病毒 1. 定义2. 计算机病毒的特点3. 计算机病毒的常见类型和攻击方式4. 如何防御计算机病毒 1. 定义 计算机病毒是计算机程序编制者在计算机程序中插入的破坏计算机功能或者破坏数据&#xff0c;影响计算机使用并且能够自我复制的一组计算机指令或程序代码。因其特点与生…

蓝桥杯每日一题2023.12.4

题目描述 竞赛中心 - 蓝桥云课 (lanqiao.cn) 题目分析 本题使用树型DP&#xff0c;蓝桥杯官网出现了一个点的错误&#xff0c;但实际答案是正确的 状态表示&#xff1a;f[u]&#xff1a;在以u为根的子树中包含u的所有联通块的权值的最大值 假设s1&#xff0c;s2,…sk 是u的…

基于ssm的实验室耗材管理系统设计与实现论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对实验室耗材信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性…

Java——面试:异常处理所用到的关键字有哪些?具体有什么作用?

1.异常处理所用到的关键字有哪些&#xff1f; Java异常处理所使用的到的关键字有&#xff1a;try、catch、finally、throw、throws五个 2.具体有什么作用&#xff1f; try&#xff1a;用于捕获异常&#xff0c;后面必须跟一个或多个catch块或者一个finally块&#xff1b;捕获到…

基于Java SSM框架实现弹幕视频网站系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现弹幕视频网站系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;弹幕视频网站当然也不能排除在外。弹幕视频网站是以实际运用为开发背景&…

Java 中 char 和 Unicode、UTF-8、UTF-16、ASCII、GBK 的关系

Unicode、UTF-8、UTF-16、UTF-32、ASCII、GBK、GB2312、ISO-8859-1 它们之间是什么关系? 关于这几种字符编码的关系,经过各种资料研究,总结如下图(请右键在新标签页打开查看或者下载后使用看图工具放大查看): 我们应该从历史的顺序看待这些字符编码的由来: ASCII(早期…

【MySQL】:数据库基本认识

数据库基础 一.什么是数据库1.mysql是什么2.为什么要有数据库3.服务器&#xff0c;数据库&#xff0c;表关系4.Mysql架构5.SQL语句分类 二.存储引擎 一.什么是数据库 1.mysql是什么 1.mysql是数据库服务的客户端。 2.mysqld是数据库服务的服务器端。 3.mysql本质&#xff1a;基…

Python 从入门到精通 学习笔记 Day01

Python 从入门到精通 第一天 今日目标 计算机组成原理、编程语言、Python环境安装 第一个Python程序、PyCharm的安装与使用 Python的基础语法、Python的基本数据类型 一、计算机组成原理 计算机的组成 计算机硬件通常由以下几个部分组成: 1.中央处理器(CPU):负责执行计算机…

红队专题-开源资产扫描系统-ARL资产灯塔系统

ARL资产灯塔系统 安装说明问题 &#xff1a; 安装说明 源码地址 https://github.com/TophantTechnology/ARL https://github.com/TophantTechnology/ARL/wiki/Docker-%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85-ARL 安装环境 uname -a Linux VM-24-12-centos 3.10.0-1160.49.1.e…

02Docker容器卷

Docker容器卷 1.数据卷是什么 简而言之: 就是Docker用来存储数据的,在镜像被删除的时候,卷中数据不会被删除,就是相当于一个数据库备份数据,相当于Windows中的目录或文件 2.目的 解决数据持久化 独立容器的生存周期,帮助容器间继承和共享数据 3.数据卷的使用 1.直接添加 doc…

sed 流式编辑器

使用方式&#xff1a; 1&#xff0c;前置指令 | sed 选项 定址符指令 2&#xff0c;sed 选项 定址符指令 被处理文档 选项&#xff1a; -n 屏蔽默认输出 -i写入文件 -r支持扩展正则 指令&#xff1a; p输出 d删除 s替换 sed -n 1p user //输出第1行 sed -n…

从Excel中找sheet

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

ambari 开启hdfs回收站机制

hdfs回收站类似于我们常用的windows中的回收站&#xff0c;被删除的文件会被暂时存储于此&#xff0c;和回收站相关的参数有两个&#xff1a; fs.trash.interval&#xff1a;默认值为0 代表禁用回收站&#xff0c;其他值为回收站保存文件时间&#xff0c;单位为分钟 fs.trash…

如何评估数据资产的价值?哪种方法更容易实现?

今年可以称之为数据年&#xff0c;从去年年底党中央发布《数据20条》&#xff0c;对数据领域的一系列的制度建设做了提纲起领的作用。在财经领域今年的下半年&#xff0c;密集出台一系列跟数据资产相关的政策&#xff0c;包括8月21日发布的《企业数据资源会计处理的暂行规定》以…

Element-ui框架完成vue2项目的vuex的增删改查

看效果图是否是你需要的 这是原来没有Element-ui框架的 首先&#xff0c;你要在你的项目里安装Element-ui yarn命令 yarn add element-uinpm命令 npm install element-ui --save好了现在可以粘贴代码 //main.js import Vue from vue import Vuex from vuex import VueRouter …

如何使用 Zotero 导出所选条目的 PDF 文件

如何使用 Zotero 导出所选条目的 PDF 文件 Zotero 是一款强大的参考文献管理工具&#xff0c;但它并不直接提供将整个文件夹导出为 PDF 的选项。不过&#xff0c;您可以使用以下步骤来导出您所选的 Zotero 条目中的 PDF 文件&#xff0c;无需额外的插件。 选择所需的 Zotero 条…

Linux(centos)学习笔记(初学)

[rootlocalhost~]#:[用户名主机名 当前所在目录]#超级管理员标识 $普通用户的标识 Ctrlshift放大终端字体 Ctrl缩小终端字体 Tab可以补全命令 Ctrlshiftc/V复制粘贴 / &#xff1a;根目录&#xff0c;Linux系统起点 ls&#xff1a; #list列出目录的内容&#xff0c;通常用户查看…