电商网站常用的楼层导航效果

很多电商网站都使用楼层导航效果来布局,如京东,唯品会等大型网站。那楼层导航效果怎么写了,其实很简单,主要用到鼠标滚动事件和高度的应用。现在我们就来用jquery来写以下。代码是直接copy过来的,因为注释比较多所以看起来有点乱。感兴趣的同学可以下载下面的源码来学习。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>楼层导航3</title>

<style>

*{margin: 0;padding: 0;}

#container{width: 900px;margin: 0 auto;}

#container>*{width: 100%;}

.header{height: 2000px;background: red;}

.floor{height: 1000px;font:bold 25px/30px "微软雅黑";}

.footer{height: 500px;background: red;}

#nav{width: 100px;position: fixed;left: 20px;bottom:300px;list-style: none;display: none;cursor: pointer;}

#nav li{height: 35px;line-height: 35px;border-bottom: 1px dashed #ccc;text-align: center;position: relative;font-size: 25px;margin-top: 1px;}

#nav li span{position: absolute;display: inline-block;height: 35px;line-height: 35px;width: 100%;text-align: center;left: 0;top: 0;display: none;background: #f00;color: #fff;}

</style>

<script src="jquery-1.12.4.js"></script>

<script>

$(function(){

var winHeight = $(window).height(), //获取浏览器可是窗口的盖度

headerHeight = $(‘.header‘).height(),  //获取header的高度

onOff = false;    //布尔值变量,通错这个变量可以防止快速连续点击的时候出现的连续滚动

$(window).on(‘scroll‘,function(){

var scTop = $(window).scrollTop();  //获取滚动条的滚动距离

//当楼侧开始出现时显示楼层导航条

if(scTop >= headerHeight - winHeight){

$(‘#nav‘).show(400);   //也可以不传参数,传参数表示运动时间

}else{

$(‘#nav‘).hide(400);

}

//滚动时切换显示楼层

if(!onOff){

$(‘.floor‘).each(function(index,element){

var _top = $(this).offset().top;

//当每层楼的最上面滚动到浏览器窗口的中间时切换导航条的显示

if(scTop >= _top - winHeight / 2){

//此处添加curr类样式并不是改变显示样式,而是为了标当前所在的楼层

$(‘#nav>li‘).eq(index).addClass(‘curr‘).children().show()

.end().siblings().removeClass(‘curr‘).children().hide();

}

});

}

})

$(‘#nav>li‘).hover(function(){

$(this).children().show();

},function(){

//此处用到.not(‘.curr‘)来过滤当前楼层,鼠标移开时仍然保持当前的显示样式

$(this).not(‘.curr‘).children().hide();

}).on(‘click‘,function(){

onOff = true;  //将开关变量onOff置为true

var index = $(this).index(),  //获取当前电机的li的索引

_top = $(‘.floor‘).eq(index).offset().top;//获取相对于的楼层到文档顶部的距离

$(this).addClass(‘curr‘).children().show().end()

.siblings().removeClass(‘curr‘).children().hide();

$(‘html,body‘).animate({‘scrollTop‘:_top},400,function(){

onOff = false; //在运动执行完毕的毁掉函数中将onOff的值重置为false

});

//或者也可以用scrollIntoView()方法,只是该方法没有滚动的效果,而是直接跳到浏览器可是窗口的最上面.用法如下:

/*var index = $(this).index();

$(‘.floor‘).get(index).scrollIntoView();*/

});

});

</script>

</head>

<body>

<div id="container">

<div class="header">header</div>

<div class="main">

<div class="floor" style="background: palegreen;">1F</div>

<div class="floor" style="background: yellow;">2F</div>

<div class="floor" style="background: blueviolet;">3F</div>

<div class="floor" style="background: orange;">4F</div>

<div class="floor" style="background: greenyellow;">5F</div>

<div class="floor" style="background: bisque;">6F</div>

<div class="floor" style="background: pink;">7F</div>

</div>

<div class="footer">footer</div>

</div>

<div>

<ul id="nav">

<li>1F<span style="display: inline-block;" class="curr">1楼</span></li>

<li>2F<span>2楼</span></li>

<li>3F<span>3楼</span></li>

<li>4F<span>4楼</span></li>

<li>5F<span>5楼</span></li>

<li>6F<span>6楼</span></li>

<li>7F<span>7楼</span></li>

</ul>

</div>

</body>

</html>

时间: 2024-10-20 03:15:55

电商网站常用的楼层导航效果的相关文章

scroll()和scrollTop()方法——实现电商网站中的电梯导航

要想实现电商网站的电梯导航效果,首先需要了解以下知识点: jquery 事件 - scroll() 方法 对元素滚动的次数进行计数,当用户滚动指定的元素时,会发生 scroll 事件.scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口).scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数. jquery CSS 操作 - scrollTop() 方法 设置元素中滚动条的垂直偏移,scrollTop() 方法返回或设置匹配元素的滚动

利用jquery实现电商网站常用特效之:五星评分

这篇文章主要为大家详细介绍了基于jquery实现五星好评,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在电商网站,我们经常会用到五星评分的功能,现在用jQuery实现一个简单的demo: 1.引入jQuery 例子中我使用的是在线jQuery: <script src="/jquery/1.10.0/jquery.min.js"></script> 2.jQuery方法说明: prevAll:如果给定一个表示 DOM 元素集合的 jQuery 对象,.pr

电商网站常用放大镜特效

预览效果: 类似于之前做过的裁剪预览效果 HTML.CSS代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv

大型网站架构系列:电商网站架构案例(3)

本文章是电商网站架构案例的第三篇,主要介绍数据库集群,读写分离,分库分表,服务化,消息队列的使用,以及本电商案例的架构总结. 6.5数据库集群(读写分离,分库分表) 大型网站需要存储海量的数据,为达到海量数据存储,高可用,高性能一般采用冗余的方式进行系统设计.一般有两种方式读写分离和分库分表. 读写分离:一般解决读比例远大于写比例的场景,可采用一主一备,一主多备或多主多备方式. 本案例在业务拆分的基础上,结合分库分表和读写分离.如下图: (1)       业务拆分后:每个子系统需要单独的库:

(转)大型网站架构系列:电商网站架构案例(1)

大型网站架构是一个系列文档,欢迎大家关注.本次分享主题:电商网站架构案例.从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型.除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标). 根据实际需要,进行改造,扩展,支持千万PV,是没问题的. 本次分享大纲 电商案例的原因 电商网站需求 网站初级架构 系统容量估算 网站架构分析 网站架构优化 架构总结 电商网站案例,一共有三篇本篇主要说明网站的需求,网站初始架构,系统容量估算方法. 一.电商

互联网安全锁现大漏洞 网友建议:不要登录一切网银电商网站

2014.04.11 22:19:51 来源:南方日报作者:南方日报 ( 2 条评论 )  http://www.techweb.com.cn/internet/2014-04-11/2027049.shtml 昨日,被称为"心脏出血"的OpenSSL协议安全漏洞引发了人们对网上支付的担忧.传言称,这个漏洞"波及几乎所有网站",用户"不登录还好,一登录网站就有可能导致用户名和密码失窃".截至昨日18时12分,百度搜索关键词"OpenSS

电商总结(八)如何打造一个小而精的电商网站架构

前面写过一些电商网站相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下.把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的.对以前的文章感兴趣的朋友可以看这个,http://www.cnblogs.com/zhangweizhong/category/879056.html 本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容

大型网站架构系列:电商网站架构案例分析

上节课我们小组对淘宝网进行了简要的架构分析,这周我在课余时间对这类大型电商网站的某些具体架构技术进行了梳理和概括,并对一些架构方法进行更深层次的介绍,并且结合软件工程进行典型电商的需求分析. 一.典型电商案例 电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等.大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,一些交互性比较多的网站,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等.电商网站具备以上两类的特点,比如产品详情可以采用CDN,静态化,交互性高的需要采用NO

【项目总结】扯一扯电商网站前端css的整体架构设计(1)

最近半忙不忙的写了一个外包网站,网站主要功能是艺术品竞拍和艺术衍生品的销售.工程已经完成了80%左右,现在前后端代码量已经50W行左右,我主要负责的是前端设计和前端布局.下面就先放一个网站的设计图吧,因为涉及到甲方的"商业机密",所以打一下马赛克: 这篇文章主要算是我对于这个项目的总结或者说是对于这阶段自己看的一些前端书或者经验的一个总结吧,所以设计图就不贴那么多了.整个项目的设计图由最开始的ui定了个首页稿基调,剩下的界面大部分都是我在首页稿基础上做出来的,以后有机会再唠.PS:不过