【分享】纯jQuery实现星巴克官网导航栏效果
前言
大冬天的没得玩,只能和代码玩。
所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~
请各位大神指教!
官网效果图
要写的就是最上方的会闪现的白色条条
效果分析
1、在滚动条往下拉到一定距离后,往下拉导航栏消失。
2、当滚动条往上拉的时候,导航栏出现,并且拉到最上方的时候,导航栏效果是放大的。
解决思路
1、首先要监听滚动条的滚动方向。判断滚动方向,然后让导航栏发生隐藏显示事件。
2、 在滚动一定距离内,放大和缩小导航栏的大小。可以观察出导航栏的大小是因为Logo图片大小变化而引起的。这时候导航栏的高度可以让其自适应。
demo代码演示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1{
width: 100%;
/*使图片居中*/
text-align:center;
/*让其固定在页面上方*/
position: fixed;
left: 0;
top:0;
background-color: white;
}
#div2{
background-color: red;
height: 2000px;
}
#div1 img{
width: 73px;
height: 73px;
padding: 15px 0;
/*使大小变化有个过渡过程*/
transition: all 0.5s ease;
}
</style>
</head>
<body>
<div id="div1">
<img src="https://www.starbucks.com.cn/_themes/starbucks/img/logo.svg" alt="" />
</div>
<div id="div2">hhaha </div>
</body>
<script src="JQuery/jquery-3.1.1.js"></script>
<script>
//获取最开始的滚动距离
var scrollBefore = $(document).scrollTop();
$(document).scroll(function(){
//获取当时的滚动距离
var scrollAfter=$(document).scrollTop();
//当滚动距离小于107的时候,导航栏是大的
if(scrollAfter<107){
$("#div1 img").css({width:"73px",height:"73px",padding:"15px 0"});
};
//当滚动距离大于107时,导航栏切换显示隐藏状态
if(scrollAfter>=107){
//当滚动方向往下的时候,导航栏隐藏
if (scrollBefore < scrollAfter) {
$("#div1").slideUp("fast");
//当滚动方向往上的时候,导航栏显示,并且是小的。
} else {
$("#div1 img").css({width:"50px",height:"50px",padding:" 5px 0"});
$("#div1").slideDown("fast");
};
//给开始的导航距离赋值,可以进行比较
scrollBefore = scrollAfter;
};
});
</script>
</html>
有点粗糙,不要嫌弃,旁边的菜单和登录没写,在变换的时候也改变了位置,加到里面就行。
我就偷了点懒,只写了Logo图片。
其实代码并不复杂,难的就是你怎么分析他的效果。
把他的效果分析的越简单,你写起来就简单!
【分享】纯jQuery实现星巴克官网导航栏效果的更多相关文章
- 【方法】纯jQuery实现星巴克官网导航栏效果
前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...
- 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)
利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录) 作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...
- 基于jQuery仿迅雷影音官网幻灯片特效
分享一款基于jQuery仿迅雷影音官网幻灯片特效迅.雷影音官网jQuery幻灯片特效是一款带左右箭头,索引按钮切换的jQuery幻灯片代码.效果图如下: 在线预览 源码下载 实现的代码. html ...
- jQuery粘性跟随滚动条滚动的导航栏源代码下载
jQuery粘性跟随滚动条滚动的导航栏源代码下载 作者:网页模板 大小:0.005MB 点击次数:3494 发布时间:2014-03-07 12:55 分享到:0 特效介绍 jQuery粘性跟随滚动条 ...
- jQuery Validate (摘自官网)
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证 ...
- python官网导航翻译
- 云南农职《JavaScript交互式网页设计》 综合机试试卷④——蔚蓝网导航栏
一.语言和环境 实现语言:javascript.html.css. 开发环境:HBuilder. 二.题目(100分) 1.功能需求: 布局出顶部导航栏目 鼠标放到新手入门显示对象的下拉列表 鼠标移开 ...
- jQuery实现侧边导航栏效果
效果图: 效果体验:http://keleyi.com/keleyi/phtml/jqmenu/2.htm 以下是完整代码: <!DOCTYPE html> <html> &l ...
- 如何用jQuery实现在鼠标滚动后导航栏保持固定
要实现如下效果,鼠标滚动后,上方导航栏置顶固定 关键html代码: <div class="header-bottom"> <div class="co ...
随机推荐
- Java面向对象 继承(下)
Java面向对象 继承(下) 知识概要: (1)抽象类 1.1 抽象类概述 1.2 抽象类的特点 ...
- vue + ajax + php 接口的使用小接
vue + ajax + php 接口的使用小接 前端代码: (获取用户信息,并渲染页面) userinfor.html <!DOCTYPE html> <html lang=&qu ...
- C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- YYHS-手机信号
题目描述 输入 输出 样例输入 11 10000 query 5 construct 5 500 100 query 500 query 1000 construct 10 90 5 query 44 ...
- Bootstrap 禁用滚动条
Bootstrap中禁用滚动条的方法 逻辑: 当点击弹窗按钮后,js会为body元素添加一个modal-open的类,该类主要内容如下 .modal-open .modal { overflow-x: ...
- [js插件开发教程]实现一个比较完整的开源级选项卡插件
在这篇文章中,我实现了一个基本的选项卡功能:请猛击后面的链接>> [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件. 还缺少两个常用的切换(自动切换与透明度渐变),当然 ...
- Linux入门(4)——Ubuntu16.04安装MATLAB2016b
通常有三个安装文件: Matlab 2016b Linux64 Crack.rar R2016b_glnxa64_dvd1.iso R2016b_glnxa64_dvd2.iso sudo apt i ...
- C++运算符重载(10)
编译器在默认情况下为每个类生成一个默认的赋值操作,用于同类的两个对象之间相互赋值.默认的含义是逐个为成员赋值,即将一个对象的成员的值赋给另一个对象相应的成员,这种赋值方式对于有些类可能是不正确的. 运 ...
- CentOS 7 校对时间 修改时区
在 CentOS 7 中, 引入了一个叫 timedatectl 的设置设置程序. 用法很简单: timedatectl # 查看系统时间方面的各种状态 Local time: 四 2014-12-2 ...
- 读书笔记-你不知道的JS上-函数作用域与块作用域
函数作用域 Javascript具有基于函数的作用域,每声明一个函数,都会产生一个对应的作用域. //全局作用域包含f1 function f1(a) { var b = 1; //f1作用域包含a, ...