<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {margin: 0; padding: 0; border: none;}
ul,li {list-style: none;} #loutiNav {
position: fixed;
left: 40px;
top: 25%;
width: 30px;
border: 1px solid black;
background:pink;
}
#loutiNav li {
width: 30px;
height: 29px;
border-bottom: 1px dashed white;
font-size: 14px;
text-align: center;
line-height: 29px;
position: relative;
cursor: pointer;
}
#loutiNav li span {
display: none;
position: absolute;
left: 0;
top: 0;
width: 30px;
height: 29px;
background: white;
}
#loutiNav li:hover span{
display: block;
background: darkred;
color: white;
}
#loutiNav li span.active {
display: block;
background: white;
color: darkred;
} #head, #main div, #foot {
width: 1000px;
height: 600px;
font-size: 100px;
text-align: center;
line-height: 600px;
margin: 0 auto;
} </style>
<script src="js/jquery-1.12.3.js"></script>
<script>
$(function(){ var isMoving = false; //是否点击了按钮页面正在动画移动 $("#loutiNav li").click(function(){ //改变按钮的选中状态
$(this).find("span").addClass("active")
.parent().siblings().find("span").removeClass("active"); //移动页面到对应的楼层
var index = $(this).index();
var _top = $(".louti").eq(index).offset().top; //$(window).scrollTop(_top);
isMoving = true;
$("html, body").stop().animate({scrollTop:_top}, 400, function(){
isMoving = false;
});
}) //滚动事件
$(window).scroll(function(){ if ( !isMoving ) {
var scrollTop = $(window).scrollTop(); //遍历所有楼层
var index = 0;
$(".louti").each(function(){
if ( scrollTop >= $(this).offset().top ){
//console.log( $(this).index() );
index = $(this).index();
}
})
//console.log(index); $("#loutiNav li").eq(index).find("span").addClass("active")
.parent().siblings().find("span").removeClass("active");
}
}) })
</script>
</head>
<body>
<div id="loutiNav">
<ul>
<li>1F<span class="active">服饰</span></li>
<li>2F<span>美妆</span></li>
<li>3F<span>手机</span></li>
<li>4F<span>家电</span></li>
<li>5F<span>数码</span></li>
<li>6F<span>运动</span></li>
<li>7F<span>居家</span></li>
<li>8F<span>母婴</span></li>
<li>9F<span>食品</span></li>
<li>10F<span>图书</span></li>
<li>11F<span>服务</span></li>
</ul>
</div> <div id="head" style="background: #008800;">头部</div>
<div id="main">
<div class="louti" style="background: #666699;">1F服饰</div>
<div class="louti" style="background: #66FF99;">2F美妆</div>
<div class="louti" style="background: #33CC99;">3F手机</div>
<div class="louti" style="background: #663399;">4F家电</div>
<div class="louti" style="background: #669966;">5F数码</div>
<div class="louti" style="background: #99FF99;">6F运动</div>
<div class="louti" style="background: #33FF99;">7F居家</div>
<div class="louti" style="background: #66CC99;">8F母婴</div>
<div class="louti" style="background: #663377;">9F食品</div>
<div class="louti" style="background: #666666;">10F图书</div>
<div class="louti" style="background: #9999FF;">11F服务</div>
</div>
<div id="foot" style="background: #008800;">尾部</div> </body>
</html>

jq-demo-楼梯效果的更多相关文章

  1. JQ实现弹幕效果

    JQ实现弹幕效果,快来吐糟你的想法吧 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta charse ...

  2. 修改css样式+jq中的效果+属性操作+元素操作

    :checked    选框选中的 一.修改css样式: 1.参数只写属性名,则返回属性值 $(this).css( ' color ');   //300px 2.参数是属性名,属性值,逗号分隔,是 ...

  3. jq demo 简单的图片懒加载效果

    重点:在元素进入可视区域后,把图片元素的 _src 的值,赋值给 src <!DOCTYPE HTML> <html> <head> <meta http-e ...

  4. jq demo—图片翻页展示效果 animate()动画

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. 今天讲的是JQ 的动画效果

    老规矩,先贴代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  6. js控制页面每次滚动一屏,和楼梯效果

    我最近在做我们公司官网的改版,产品中心就是每次滚一屏的,我觉得加上楼梯更方便用户浏览,就随便写了个demo, 先来看看结构,都很简单的 <!--楼梯--> <ul class=&qu ...

  7. 微信小程序-自定义菜单导航(实现楼梯效果)

    设计初衷 在开发页面时,往往需要实现,点击页面的导航菜单页面滚动到相应位置,滚动页面实现菜单选项的高亮.在html开发中,我们可以用到a标签锚点实现,jq的动画相结合实现类似效果.在框架中vant U ...

  8. jQ模拟打字效果插件typetype

    typetype是一个jquery插件,可以模拟人类的打字效果. 效果图如下所示: 查看演示 http://weber.pub/demo/160828/jQuery.Type/jQuery.type. ...

  9. jq菜单折叠效果

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. [锋利的JQ]-超链接提示效果

    关键知识点: 1.事件对象:当事件一旦被触发,事件对象便会创立.事件对象只能作用于该事件的事件处理程序. 2.认识了mousemove事件了连续触发执行的特性. 代码: HTML: <div c ...

随机推荐

  1. 【记录】centOS 搭建logstash +docker搭建elasticsearch伪集群+kibana链接集群elasticsearch节点

    [注意]本文主要用于自我记录,注释较少. 安装logstash 1.上传logstash-6.4.3.tar.gz到服务中 2.tar –zxvf logstash-6.4.3.tar.gz 3.cd ...

  2. Hession实现远程通讯(基于Binary-RPC协议)

    一.开发工具 1.jdk1.6 64位 百度网盘地址:https://pan.baidu.com/s/1Zwqfmi20X4ANNswZzPMzXQ 提取码:k50r 2.apache-maven-3 ...

  3. codeforces round 433 C. Planning 贪心

    题目大意: 输入n,k,代表n列航班,初始始发实践为1,2,3分钟以此类推,然后输入n个整数分别代表延迟1分钟第i个航班损失多少钱,然后调整后的始发时间表是这样的,任何一辆航班的始发时间不能在他的初始 ...

  4. ansible-继续普通用户权限运行

    ansible 远程以普通用户执行命令   1. ansible 10.0.0.1 -m raw -a "date" -u www 2.在ansible的主机配置文件中指定ssh_ ...

  5. 分享linux中导入sql文件的方法

    为使用阿里云主机,没有装ftp,也没有装phpmyadmin,所以一切都得靠命令行.转移网站的重要一步就是转移数据库,这里简单介绍一下如何在这种情况下导入sql文件 因导出sql文件 在你原来的网站服 ...

  6. 存储emoji表情,修改字符集为utf8mb4

    SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%'; SET ch ...

  7. PHP FILTER_VALIDATE_INT 过滤器

    定义和用法 FILTER_VALIDATE_INT 过滤器把值作为整数来验证. Name: "int" ID-number: 257 可能的选项或标志: min_range - 规 ...

  8. 最大流EK和Dinic算法

    最大流EK和Dinic算法 EK算法 最朴素的求最大流的算法. 做法:不停的寻找增广路,直到找不到为止 代码如下: @Frosero #include <cstdio> #include ...

  9. (转)即时通讯IM OpenFire源码学习之三:在Eclipse中构建源码

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43412617 源码搭建 下载地址: 地址:http://www.igniterealti ...

  10. 百度API实例——google地图数据转化为百度地图数据

    前段时间做的项目前端都是用Google地图,最近在一个地方需要用到百度地图,因为不同地图都有自己的处理,同一个经纬度在不同地图上显示的位置并不相同,因此,要把以前的数据直接拿过来用需要做一个转换.查阅 ...