jq 导航跟随 模拟京东手机端
想做一个导航跟随,但是代码都要下载,自己简单些了一个,css都放html里面了,所以也不用下载直接新建html,然后粘贴,点开就是导航跟随效果
效果如图
- <!DOCTYPE html>
- <html>
- <head>
- <title>导航跟随</title>
- <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
- <script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
- </head>
- <style>
- #nav {
- display: -webkit-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- line-height: 30px;
- font-size: 14px;
- width: 100%;
- position: fixed;
- top: 0px;
- left: 0px;
- z-index: 100;
- border-bottom: 1px solid #e5e5e5;
- border-top: 1px solid #e5e5e5;
- min-height: 44px;
- background: #000;
- }
- #nav a {
- display: block;
- position: relative;
- width: 25%;
- line-height: 44px;
- text-align: center;
- color: #fff;
- }
- #nav a.active {
- color: #fff;
- background: red;
- }
- #main {
- padding-top: 44px;
- }
- </style>
- <script>
- $(window).load(function () {
- $('html, body').animate({ scrollTop: 0 }, 200);
- var nav = $("#nav");
- var mainPage = $(".mainPage");
- var mainTopArr = new Array();
- for (var i = 0; i < mainPage.length; i++) {
- var top = mainPage.eq(i).offset().top;
- mainTopArr.push(top);
- }
- $(window).scroll(function () {
- var scrollTop = $(this).scrollTop();
- var k;
- for (var i = 0; i < mainTopArr.length; i++) {
- if (scrollTop + 144 >= mainTopArr[i]) {
- k = i;
- }
- }
- nav.find("a").eq(k).addClass("active").siblings().removeClass("active");
- });
- nav.find("a[href^='#']").click(function (e) {
- e.preventDefault();
- $('html, body').animate({ scrollTop: $(this.hash).offset().top - 144 }, 200);
- });
- });
- </script>
- <body>
- <div id="nav">
- <a href="#imgdetails" class="active">商品</a>
- <a href="#specifications">规格</a>
- <a href="#reviews">评价</a>
- <a href="#description">详情</a>
- </div>
- <div id="main">
- <div class="mainPage" id="imgdetails"style="height:500px">我是第一块的内容</div>
- <div class="mainPage" id="specifications" style="height:500px">我是第二块的内容</div>
- <div class="mainPage" id="reviews" style="height:500px">我是所有评论啦,来看评论</div>
- <div class="mainPage" id="description" style="height:500px">我是介绍,来看介绍</div>
- </body>
- </html>
本来是想用document.ready,但是应用到实际中有页面包含了很多绝对定位的元素,定位并不准确。
jq 导航跟随 模拟京东手机端的更多相关文章
- jq判断是PC还是手机端的方法
$(function(){ //判断是否是手机 var mobile_flag = isMobile(); if(mobile_flag){ $('.now_qq').attr('href',&quo ...
- 手机端调用app导航
因为是在微信端中操作,所以只能使用腾讯地图才能调起手机的腾讯地图app <!doctype html> <html> <head> <meta charset ...
- 第九十二节,html5+css3移动手机端流体布局,开篇知识
html5+css3移动手机端流体布局,开篇知识 将项目设计成移动端可访问的页面,项目采用的是流体布局.也就是宽度以百分比自适应的,因为手机的屏幕大小不一致 一.整体设计 首先 我们要了解一 ...
- 原生js实现响应式轮播图,支持电脑端点击切图,手机端滑动切图
轮播图的实现原理并不难,但是步骤有些繁琐.最近练习了一个轮播图,大部分是跟着网上的教程写的,然后自己做了一点兼容ie8的修改,加了点击切换图片的特效和手机端的滑动特效,让这个轮播图可以在响应式的网站中 ...
- 手机端页面rem自适应脚本
什么是rem 参照 web app变革之rem 在我看来,rem就是1rem单位就等于html节点fontsize的像素值.所以改变html节点的fontsize是最为关键的一步.根据手机宽度改变相对 ...
- 适应手机端的jQuery图片滑块动画DEMO演示
在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- 涨姿势!手机端的META你知道多少?
一.天猫 <title>天猫触屏版</title> <meta content="text/html; charset=utf-8" http-equ ...
- 手机端的META你有多了解?
我们先来简单了解下meta标签:meta指元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 标签位于文档的头部,不包含任何内容. 标签的属性定 ...
- 第九十四节,html5+css3移动手机端流体布局,旅游部分,媒体查询
html5+css3移动手机端流体布局,旅游部分,媒体查询 媒体查询 媒体查询是手机网站和自适应网站的重要部分,媒体查询可以根据不同的屏幕大小,做响应的处理,如文字的大小,区块隐藏等等 媒体查询,这里 ...
随机推荐
- 联想拯救者y7000使用体验
前言 我以前的电脑是在电商平台买的二手电脑,期间觉得软件的运行速度慢,又在网上买了一个128G的固态硬盘安装上.就从大一到大四上学期这么使用了三年半的时间.因为自己需要运行一些吃内存的软件,而我的这个 ...
- C++走向远洋——34(友元函数,成员函数和一般函数的区别)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:youyuan.cpp * 作者:常轩 * 微信公众号:Worl ...
- 1——PHP常见的系统常量
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- marquee上下无缝滚动
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...
- Ueditor富文本编辑器--上传图片自定义上传操作
最近负责将公司官网从静态网站改版成动态网站,方便公司推广营销人员修改增加文案,避免官网文案维护过于依赖技术人员.在做后台管理系统时用到了富文本编辑器Ueditor,因为公司有一个阿里云文件资源服务器, ...
- NLP(二十二)利用ALBERT实现文本二分类
在文章NLP(二十)利用BERT实现文本二分类中,笔者介绍了如何使用BERT来实现文本二分类功能,以判别是否属于出访类事件为例子.但是呢,利用BERT在做模型预测的时候存在预测时间较长的问题.因此 ...
- 学习Vue.js-Day2
书接上文/思考反馈 react,ng,vue作用差不多,那各个都有什么特点啊,实际工作中应该用哪一个? 答:其实在实际工作中,组员会通过讨论而选择框架:这三个框架都能解放你的工作量,也适合做单页面应用 ...
- DEX文件解析---2、Dex文件checksum(校验和)解析
一.checksum介绍 checksum(校验和)是DEX位于文件头部的一个信息,用来判断DEX文件是否损坏或者被篡改,它位于头部的0x08偏移地址处,占用4个字节,采用小端序存储. ...
- python自动化第二课 - python基础2
1.判断奇数偶数 num = input("请输入一个数字,判断是否为偶数:") print(not int(num) % 2) 2.浮点数的高精度计算用Decimal(from ...
- 1分钟,带你上手“Markdown”语法
前言 Markdown 是一种轻量级的标记语言,有 John Gruber 以及Aaron Hillel Swartz 一起编写.Aaron Hillel Swartz 是一个极富传奇的黑客,有兴趣可 ...