图片/图形

jQuery+CSS3可互动的背景视觉差效果

阿里云


这是一款效果非常酷的 jQuery 和 CSS3 可互动的背景视觉差效果。该视觉差特效在鼠标移动的时候,背景图片和前景的文字会以不同的速度移动,产生视觉差效果。

使用方法

该视觉差特效的 HTML 结构非常简单,使用一个<div>元素作为包裹元素,在它里面使用一个空的<div>元素作为页面的背景层。

也想出现在这里?联系我们
创客主机
  1. <div class="wrap">
  2.   <div class="bg"></div>
  3.   <h1>......</h1>
  4. </div>

CSS 样式

包裹元素 div.wrap 使用相对定位,高度设置为 100%,超出屏幕的部分全部隐藏。

  1. .wrap {
  2.   height: 100%;
  3.   position: relative;
  4.   overflow: hidden;
  5. }

背景层需要采用绝对定位,宽度和高度都为 100%,背景图片使用 background-size: cover;来设置,使图片占据整个屏幕。

  1. .wrap .bg {
  2.   width: 100%;
  3.   height: 100%;
  4.   position: absolute;
  5.   top: 0;
  6.   left: 0;
  7.   z-index: -1;
  8.   background: url("../img/mountains.jpg") no-repeat center center;
  9.   background-size: cover;
  10.   -webkit-transform: scale(1.1);
  11.           transform: scale(1.1);
  12. }

JavaScript

要激活背景视觉差效果,只需要使用下面的简单的 JavaScript 代码即可。

  1. var lFollowX = 0,
  2.       lFollowY = 0,
  3.       x = 0,
  4.       y = 0,
  5.       friction = 1 / 30;
  6.  
  7. function moveBackground() {
  8. x += (lFollowX - x) * friction;
  9. y += (lFollowY - y) * friction;
  10.  
  11. translate = 'translate(' + x + 'px, ' + y + 'px) scale(1.1)';
  12.  
  13. $('.bg').css({
  14.   '-webit-transform': translate,
  15.   '-moz-transform': translate,
  16.   'transform': translate
  17. });
  18.  
  19. window.requestAnimationFrame(moveBackground);
  20. }
  21.  
  22. $(window).on('mousemove click', function(e) {
  23.  
  24. var lMouseX = Math.max(-100, Math.min(100, $(window).width() / 2 - e.clientX));
  25. var lMouseY = Math.max(-100, Math.min(100, $(window).height() / 2 - e.clientY));
  26. lFollowX = (20 * lMouseX) / 100; // 100 : 12 = lMouxeX : lFollow
  27. lFollowY = (10 * lMouseY) / 100;
  28.  
  29. });
  30.  
  31. moveBackground();

jQuery+CSS3 可互动的背景视觉差效果

已有 486 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!