jq实现楼层切换效果
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
} a {
color: #000;
text-decoration: none;
} .list {
display: none;
width: 50px;
position: fixed;
height: 150px;
left: 0;
top: 50%;
margin-top: -75px;
} ul {
list-style: none;
border: 1px solid #ccc;
} li {
height: 50px;
line-height: 50px;
} li a {
display: block;
width: 100%;
height: 100%
} .n2 {
border: 1px solid #ccc;
border-left: 0;
border-right: 0
} li.active a {
background-color: green;
color: #fff;
} .long {
width: 500px;
height: 800px;
} .con {
margin-left: 300px;
} .floor {
height: 500px;
width: 500px;
background: red;
} .floor span {
display: block;
width: 100%;
height: 50px;
line-height: 50px; font-size: 25px;
/*animation:scaleDisc 1s;*/
} @-webkit-keyframes scaleDisc {
0% {
opacity: 0;
height: 0
}
100% {
opacity: 1;
height: 50px
}
} @-moz-keyframes scaleDisc {
0% {
opacity: 0;
height: 0
}
100% {
opacity: 1;
height: 50px
}
} @keyframes scaleDisc {
0% {
opacity: 0;
height: 0
}
100% {
opacity: 1;
height: 50px
}
}
</style>
<meta charset="utf-8">
<title>楼层效果</title>
</head>
<body>
<div class="list">
<ul>
<li><a href="#floor1" class="smooth">楼层1</a></li>
<li class="n2"><a href="#floor2" class="smooth">楼层2</a></li>
<li><a href="#floor3" class="smooth">楼层3</a></li>
</ul>
</div>
<div class="long">
内容区
</div>
<div class="con">
<div class="long1 floor" id="floor1">
<span>楼层1</span>
</div>
<div class="long2 floor" id="floor2">
<span>楼层2</span>
</div>
<div class="long3 floor" id="floor3">
<span>楼层3</span>
</div>
</div>
</body>
<script src="jquery-1.11.3.min.js"></script>
<script>
$(function () {
$(window).scroll(function () {
var clientH = $(window).height();
var $scroll = $(window).scrollTop();
//判断当楼层内容区域显示在可视窗口时,显示楼层列表,否则隐藏
if($(".con").offset().top-$scroll<clientH){
$(".list").css("display","block");
}else{
$(".list").css("display","none");
}
$(".floor").each(function () {
/*var clientH = window.screen.availHeight;*/
var $height = $(this).height();
var $off = $(this).offset().top;
var $index = $(this).index();
/*if ($off + $height - $scroll >$height && $off + $height - $scroll <= clientH) {*/
if ($off - $scroll < clientH/2) {
$(this).css("background","green");
$(this).siblings().css("background","red");
$(".list li").eq($index).addClass("active");
$(".list li").eq($index).siblings().removeClass("active");
} else {
$(this).css("background", "red");
$(".list li").eq($index).removeClass("active");
} }) });
$(".smooth").on("click", function () {
var href = $(this).attr("href");
var $step = $(href).offset().top;
$("body").animate({"scrollTop": $step}, 500);
return false;
})
})
</script>
</html>
效果说明:
1)当楼层内容没有显示在可视区域时,隐藏楼层列表,否则显示
2)当楼层内容距离屏幕顶端距离小于屏幕可视高度的一半时,给当前楼层设置为绿色背景
3)点击楼层列表时,跳转到对应的楼层内容
jq实现楼层切换效果的更多相关文章
- tab切换的效果——仿照今日头条APP的切换效果
说点废话;不知道是哪一版本起头条的tab切换效果就变了,一直琢磨着这个事,去度娘那里也没有什么结果:正好这两天有空就尝试做了一下:用前端的技术来实现: 先看效果吧:上面的tab随着slide滑动,上面 ...
- weui 多网页切换效果分析
weui的文档写的不怎么详尽,简单的来讲WeUI 为微信 Web 服务量身设计的h5框架. WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户 ...
- 使用ViewPager+Fragment实现选项卡切换效果
实现效果 本实例主要实现用ViewPage和Fragment实现选项卡切换效果,选项卡个数为3个,点击选项卡或滑动屏幕会切换Fragment并实现选项卡下方下边框条跟随移动效果. 本程序用androi ...
- js鼠标滚轮滚动图片切换效果
效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...
- jQuery手机端触摸卡片切换效果
效果:http://hovertree.com/code/run/jquery/a1gr3gm9.html 可以用手机查看效果. 代码如下: <!doctype html> <htm ...
- javascript马赛克遮罩图片切换效果:XMosaic.js(转)
新鲜出炉的javascript图片切换特效,实现的是马赛克遮罩切换.在flash里,好实现遮罩动画很简单,不过JS实现起来就有些困难了. XMosaic.js,与XScroll.js和XScroll2 ...
- CSS3 :target伪类实现Tab切换效果
用:target伪类实现Tab切换效果真的非常简单!简单到什么程度呢?它只需要下面这些代码. style.css: .song-info { position: absolute; backgroun ...
- 精致3D图片切换效果,最适合企业产品展示
这是一个精致的立体图片切换效果,特别适合企业产品展示,可立即用于实际项目中.支持导航和自动播放功能, 基于 CSS3 实现,推荐使用最新的 Chrome,Firefox 和 Safari 浏览器浏览效 ...
- Midnight.js – 实现奇妙的固定头部切换效果
Midnight.js 是一款 jQuery 插件,在页面滚动的时候实现多个头设计之间的切换,所以你总是有一个头与它下面的内容层叠,看起来效果很不错. Midnight.js 可以让你轻松实现这种切换 ...
随机推荐
- OpenLayers学习记录(1)
1.部署自己的服务器 首先下载openlayers的源码.解压后里面有很多内容.我们只需要拷贝目录下的OpenLayer.js.根目录下的lib目录.根目录下的img目录 theme目录 到你网站的o ...
- BASE64,MD5,SHA,HMAC加密與解密算法(java)
package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.B ...
- Block很简单,就像delegate的简化版
代理设计模式对于iOS开发的人来说肯定很熟悉了,代理delegate就是委托另一个对象来帮忙完成一件事情,为什么要委托别人来做呢,这其实是MVC设计模式中的模块分工问题,例如View对象它只负责显示界 ...
- Cheatsheet: 2014 12.01 ~ 12.31
.NET Some Thoughts on the new .Net Introducing .NET Core Running ASP.NET on a Raspberry Pi with Mono ...
- Ghostscript命令实践
一. 将单张PDF文件igs.pdf转化为tiff文件. . gs -sDEVICE=tiffg4 -sOutputFile=igs.tiff -dMaxStripSize= igs.pdf -dAd ...
- Installing Chocolatey
https://chocolatey.org/install To install chocolatey now, open an administrative command prompt and ...
- Limiting To Select Only 5 Check Boxes Out Of Ten In Oracle Forms
Suppose you want to give an option to user to select only 5 check boxes from given any number of che ...
- [POJ1830]开关问题(高斯消元,异或方程组)
题目链接:http://poj.org/problem?id=1830 题意:中文题面,求的是方案数. 首先可以知道, 如果方案数不止一个的话,说明矩阵行列式值为0,即存在自由变元,由于变量只有两种状 ...
- [51NOD1024] 矩阵中不重复的元素(数学,精度)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1024 因为n和m都到100了,所以直接快速幂硬算一定会爆炸,考 ...
- [C程序设计语言]第四部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...