这是一款效果炫酷的jQuery和CSS3 3D拉窗帘式导航特效。该特效使用CSS transformations 和 jQuery使两块“窗帘”沿Z轴方向模拟被拉开的效果。

HTML结构

HTML结构十分简单:使用两个section来作为wrapper。每个section中包含一个div.cd-block和一个div.cd-half-block。第一个.cd-half-block都是空的,它用来设置背景图像。第二个则用来设置文本。

3D Curtain Template

CSS样式

在小屏幕上不会有拉窗帘的效果,它只是简单的排列每个section的内容。

在桌面浏览器上(分辨率大于1170像素),我们为.cd-block元素设置position: fixed和top: 0来将这些元素放到屏幕的顶部(这个方法可以将一个元素放到另一个元素的上面)。由于.cd-section元素设置了height: 100vh(和height: position: static),所以它们仍然保留着它们的位置。

另外,我们为每一个.cd-half-block元素设置了一个translateX(还分别为:first-of-type和:nth-of-type(2)设置了translateX(-100%)和translateX(100%)),这使得它们可以移动到屏幕外边。

@media only screen and (min-width: 1170px) {

.cd-section {

height: 100vh;

}

.cd-block {

position: fixed;

top: 0;

left: 0;

}

.cd-half-block {

height: 100vh;

width: 50%;

position: absolute;

top: 0;

}

.cd-section:nth-of-type(even) .cd-half-block:first-of-type,

.cd-section:nth-of-type(odd) .cd-half-block:nth-of-type(2) {

left: 0;

transform: translateX(-100%);

}

.cd-section:nth-of-type(odd) .cd-half-block:first-of-type,

.cd-section:nth-of-type(even) .cd-half-block:nth-of-type(2) {

right: 0;

transform: translateX(100%);

}

}

JAVASCRIPT

每一个section拉窗帘动画都有两个阶段,第一个阶段是两个.cd-half-block元素被一会屏幕中(translateX的值从100%/-100%到0);第二个阶段是.cd-block元素缩小并且透明度减少(模拟3d动画效果)。

为了制作以上效果,我们为窗口的scroll事件添加triggerAnimation()函数。当用户滚动窗口,每一个.cd-section元素都根据窗口的scrollTop和section的offset().top的值来改变translateX和scale的值。

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

triggerAnimation();

});

function triggerAnimation(){

if(MQ == 'desktop') {

//if on desktop screen - animate sections

window.requestAnimationFrame(animateSection);

} // .....

}

function animateSection () {

$('.cd-section').each(function(){

var actualBlock = $(this),

scale,

translate,

opacity;

//evaluate scale/translate values

//...

scaleBlock(actualBlock.find('.cd-block'), scale, opacity);

translateBlock(actualBlock.find('.cd-half-block').eq(0), '-'+translate);

translateBlock(actualBlock.find('.cd-half-block').eq(1), translate);

});

}

function translateBlock(elem, value) {

elem.css({

//...

'transform': 'translateX(' + value + ')',

});

}

function scaleBlock(elem, value, opac) {

elem.css({

//...

'transform': 'scale(' + value + ')',

'opacity': opac

});

}

html5 拉窗帘 效果,jQuery和CSS3超酷3D拉窗帘式滚动导航特效相关推荐

  1. 全屏响应式html5+jquery幻灯片轮播特效,纯CSS3超酷全屏响应式幻灯片特效

    这是一款效果非常炫酷的纯CSS3全屏幻灯片特效.该幻灯片特效的效果类似于全屏水平方向的单页滚动效果.该幻灯片效果使用纯CSS3制作,代码仅有100多行,非常的小巧. 制作方法 HTML结构 整个幻灯片 ...

  2. jQuery和CSS3超酷图片和按钮点击波特效

    rippler是一款效果非常炫酷的 jQuery和 CSS3图片和按钮点击波特效插件. 点击波特效是指在按钮或图片上点击的时候,从点击的位置开始,会产生一种圆形光波向外辐射的炫酷效果.这款点击波特效同 ...

  3. android 卡片收缩展开,jQuery和CSS3炫酷堆叠卡片展开和收缩特效

    插件描述:这是一款效果超酷的jQuery和CSS3堆叠卡片展开和收缩特效.该图片特效开始的时候卡片被堆叠在一起,当用户点击最上面的卡片的时候,堆叠图片以各种动画方式展开.展开后再点击任意卡片,它们又会 ...

  4. html图片幕墙特效,jQuery和CSS3炫酷可交互的图片墙特效

    Polaroid_Gallery是一款效果非常酷的可交互的jQuery和CSS3图片墙特效插件.该照片墙插件可以使用圆点导航按钮将相应的图片旋转居中显示,当点击居中的图片时,图片会翻转到反面,显示图片 ...

  5. 用html浮雕效果图,纯CSS3炫酷3D浮雕质感文字动画特效

    这是一款效果非常酷的纯CSS3 3D浮雕质感文字动画特效.该特效中文字被制作为浮雕文字,就像是从一块石板上将文字雕刻下来的一样.而且文字还会来回的摆动旋转,效果非常好. 制作方法 HTML结构 该CS ...

  6. jQuery和CSS3超酷二级下拉菜单插件

    这是一款效果很酷又简单实用的 jQuery二级下拉菜单特效,该特效在点击触发按钮后,二级下拉菜单会向下滑动覆盖原来的主菜单,关闭后二级下拉菜单又向上滑动回去,二级菜单不占用多余的空间. 这个菜单插件是 ...

  7. python3d相册源代码_js和CSS3炫酷3D相册展示

    js和CSS3炫酷3D相册展示 *{margin:0;padding:0;} body{background:url(img/bg.jpg);width:100%;height:100%;overfl ...

  8. html5立体照片墙效果,HTML5特效可以 14种jQuery超酷3D网格照片墙动画特效源码

    效果图 各位长友大家好, 今天 给大家带来的是14种jQuery超酷3D网格照片墙动画特效源码! 大家可以按照自己的意愿做成 个人喜欢的样子! 想要文件版源码的,请加穷581549454 废话不多说. ...

  9. 20个HTML5/CSS3超酷应用

    http://www.gbtags.com/gb/share/2818.htm?utm_source=tuicool 20个HTML5/CSS3超酷应用 #文章 CSS3 HTML5 jQuery 申 ...

最新文章

  1. dell物理服务器硬件磁盘监控
  2. Flash安全沙箱和跨域文件
  3. VNCServer在Linux下设置
  4. Java进阶 | 泛型机制与反射原理
  5. SpringMVC防止XSS攻击
  6. 云、AI、5G技术融合,会将移动互联网带到什么新高度?
  7. 安装java正在使用中_如何安装java,安装JDK,JAVA SE正在使用中,安装不了
  8. Scratch3.0安装教程
  9. 单片机驱动DM9000网卡芯片
  10. 计算机毕业设计Java消防安全应急培训管理平台(源码+系统+mysql数据库+Lw文档)
  11. 如何用php 图片合成一张图片,怎么用PHP把多张图片合成一张
  12. qq街景输入 dir-item.js
  13. [转]Windows服务“允许服务与桌面交互”的使用和修改方法
  14. 【读书笔记】《谈谈方法》(笛卡尔)
  15. DevCloud注册和登录
  16. 英文实体识别stanrdfold
  17. 如何下载国家标准分幅影像地图
  18. 使用torchsummary时出现AttributeError: ‘list‘ object has no attribute ‘size‘解决方案
  19. 神经网络与深度学习理论,tensorflow2.0教程,cnn
  20. nodejs+vue+elementui停车场车位管理系统python-java-php333

热门文章

  1. @vue3 element-plus 按需引入,默认英文组件修改为中文
  2. HackRF实现GPS欺骗教程
  3. deny后加to do还是doing_为什么英语中有些动词后只能接 doing,而不能接 to do?
  4. 基于单片机的计算器系统设计(#0404)
  5. u盘图片损坏怎么恢复
  6. 基于姿态估计的运动计数APP开发
  7. Ubuntu 如何使用crontab 定时检查srs进程
  8. NIST:生成安全密码密钥
  9. trac mysql_无法加载MySQL的Python绑定 – Trac
  10. 阿里巴巴“相信小的伟大”:用普世情怀传播小力量