jQuery和CSS3网页固定背景视觉差特效插件

当前位置:主页 > jQuery库 > 视觉差滚动效果 > jQuery和CSS3网页固定背景视觉差特效插件
jQuery和CSS3网页固定背景视觉差特效插件
分享:

    插件介绍

    这是一款非常实用的jQuery和CSS3网页固定背景视觉差特效插件。该固定背景特效可以在页面中固定某些元素,在页面滚动的时候可以修改这些元素的视觉效果,从而制作出一种滚动视觉差的特效。

    浏览器兼容性

    浏览器兼容性
    时间:2015-03-26
    阅读:
简要教程

这是一款非常实用的jQueryCSS3网页固定背景视觉差特效插件。该固定背景特效可以在页面中固定某些元素,在页面滚动的时候可以修改这些元素的视觉效果,从而制作出一种滚动视觉差的特效。

该固定背景视觉差特效的效果都是使用CSS3来完成的,jQuery代码只是用于管理上下导航按钮的事件。该效果主要使用CSS的background-attachment属性来实现。在例子中,使用一幅手机的图片作为固定位置元素,在页面滚动时,除了它所有的页面元素都在滚动。这个效果的小技巧是使用不同颜色的尺寸相同的图片,将它们固定在页面的相同位置上。

固定背景视觉差特效中图片的使用

使用方法

HTML结构

下面来看一些它的制作方法。HTML结构并不复杂:每一个section都包含一个带有标题和文本的.content元素。class .img-1.img-2等用于在CSS中设置不同的背景图片。.cd-vertical-nav是上下导航按钮,只在大屏幕设备中可见。data-type用于在jQuery中识别是否是sections/items项。

<section class="cd-fixed-background img-1" data-type="slider-item">
  <div class="cd-content">
    <h2>Title here</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem dolor beatae, laudantium eos fugiat, deserunt delectus quibusdam quae placeat, tempora ea? Nulla ducimus, magnam sunt repellendus modi, ad ipsam est.</p>
  </div>
</section>
 
<section class="cd-fixed-background img-2" data-type="slider-item">
  <!-- ... -->
</section>
 
<nav>
  <ul class="cd-vertical-nav">
    <li><a href="#0" class="cd-prev inactive">Next</a></li>
    <li><a href="#0" class="cd-next">Prev</a></li>
  </ul> <!-- cd-vertical-nav -->
</nav>                
              
CSS样式

请记住一下几点小知识:在iOS中不能使用background-attachment: fixed;,因此在某些小屏幕设备中固定背景效果是无效的。同样,插件中在小屏幕设备中不使用CSS background-images属性,但是在.cd-content元素使用::after伪元素添加了一个小的手机图片。

.cd-fixed-background .cd-content::after {
  /* phone image on small devices */
  content: '';
  display: block;
  width: 100%;
  padding: 60% 0;
  margin: 2em auto 0;
}                
              

由于我们使用的是background-images,所以不能100%的控制图片固定的位置(在这个例子中不能控制手机的图片固定位置)。

下面的代码是固定背景效果的所需要的全部代码:

html, body {
  height: 100%;
}
 
.cd-fixed-background {
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}
 
.cd-fixed-background.img-1 {
  background-image: url("../img/img-1.jpg");
}
 
.cd-fixed-background.img-2 {
  background-image: url("../img/img-2.jpg");
}
 
.cd-fixed-background.img-3 {
  background-image: url("../img/img-3.jpg");
}                
              
JAVASCRIPT

插件中使用jQuery来控制导航按钮在各个section之间来回切换,可以使用鼠标点击导航按钮或键盘的上下导航按键来控制。在页面滚动的时候,使用checkNavigation()方法来更新导航按钮的可见性,并使用checkVisibleSection()方法来检测section是否在当前屏幕中可见。nextSection()prevSection()方法用于导航到前一个和下一个section。