前言

大冬天的没得玩,只能和代码玩。

所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~

请各位大神指教!


官网效果图

要写的就是最上方的会闪现的白色条条


效果分析

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实现星巴克官网导航栏效果的更多相关文章

  1. 【方法】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  2. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  3. 基于jQuery仿迅雷影音官网幻灯片特效

    分享一款基于jQuery仿迅雷影音官网幻灯片特效迅.雷影音官网jQuery幻灯片特效是一款带左右箭头,索引按钮切换的jQuery幻灯片代码.效果图如下: 在线预览   源码下载 实现的代码. html ...

  4. jQuery粘性跟随滚动条滚动的导航栏源代码下载

    jQuery粘性跟随滚动条滚动的导航栏源代码下载 作者:网页模板 大小:0.005MB 点击次数:3494 发布时间:2014-03-07 12:55 分享到:0 特效介绍 jQuery粘性跟随滚动条 ...

  5. jQuery Validate (摘自官网)

    jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证 ...

  6. python官网导航翻译

  7. 云南农职《JavaScript交互式网页设计》 综合机试试卷④——蔚蓝网导航栏

    一.语言和环境 实现语言:javascript.html.css. 开发环境:HBuilder. 二.题目(100分) 1.功能需求: 布局出顶部导航栏目 鼠标放到新手入门显示对象的下拉列表 鼠标移开 ...

  8. jQuery实现侧边导航栏效果

    效果图: 效果体验:http://keleyi.com/keleyi/phtml/jqmenu/2.htm 以下是完整代码: <!DOCTYPE html> <html> &l ...

  9. 如何用jQuery实现在鼠标滚动后导航栏保持固定

    要实现如下效果,鼠标滚动后,上方导航栏置顶固定 关键html代码: <div class="header-bottom"> <div class="co ...

随机推荐

  1. Java面向对象 继承(下)

     Java面向对象   继承(下) 知识概要:               (1)抽象类 1.1 抽象类概述                            1.2 抽象类的特点       ...

  2. vue + ajax + php 接口的使用小接

    vue + ajax + php 接口的使用小接 前端代码: (获取用户信息,并渲染页面) userinfor.html <!DOCTYPE html> <html lang=&qu ...

  3. C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  4. YYHS-手机信号

    题目描述 输入 输出 样例输入 11 10000 query 5 construct 5 500 100 query 500 query 1000 construct 10 90 5 query 44 ...

  5. Bootstrap 禁用滚动条

    Bootstrap中禁用滚动条的方法 逻辑: 当点击弹窗按钮后,js会为body元素添加一个modal-open的类,该类主要内容如下 .modal-open .modal { overflow-x: ...

  6. [js插件开发教程]实现一个比较完整的开源级选项卡插件

    在这篇文章中,我实现了一个基本的选项卡功能:请猛击后面的链接>>   [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件. 还缺少两个常用的切换(自动切换与透明度渐变),当然 ...

  7. Linux入门(4)——Ubuntu16.04安装MATLAB2016b

    通常有三个安装文件: Matlab 2016b Linux64 Crack.rar R2016b_glnxa64_dvd1.iso R2016b_glnxa64_dvd2.iso sudo apt i ...

  8. C++运算符重载(10)

    编译器在默认情况下为每个类生成一个默认的赋值操作,用于同类的两个对象之间相互赋值.默认的含义是逐个为成员赋值,即将一个对象的成员的值赋给另一个对象相应的成员,这种赋值方式对于有些类可能是不正确的. 运 ...

  9. CentOS 7 校对时间 修改时区

    在 CentOS 7 中, 引入了一个叫 timedatectl 的设置设置程序. 用法很简单: timedatectl # 查看系统时间方面的各种状态 Local time: 四 2014-12-2 ...

  10. 读书笔记-你不知道的JS上-函数作用域与块作用域

    函数作用域 Javascript具有基于函数的作用域,每声明一个函数,都会产生一个对应的作用域. //全局作用域包含f1 function f1(a) { var b = 1; //f1作用域包含a, ...