幻灯片/轮播

jQuery创意响应式两栏滚动幻灯片特效

阿里云


这是一款非常有创意的 jQuery 和 CSS3 两栏滚动幻灯片特效。该幻灯片特效将图片分为两半,在图片滚动切换时一半向上滚动,一半向下滚动,就像图片被切割开一样,效果很酷。

HTML 结构:

每一幅幻灯片分为 3 个部分,第一部分是 div.img-cont.left,这是图片的左半部分,第二部分是 div.img-cont.right,这是图片的右半部分。最后是 div.content,它是点击图片后进入的全屏图片的内容。

也想出现在这里?联系我们
创客主机
  1. <div class="img-cont left cont-2" data-helper="-1" data-blocks="2"></div>
  2.   <div class="img-cont right cont-2" data-helper="1" data-blocks="2"></div>
  3.   <div class="content cont-2">
  4.     <h2 class="title">Page 2 Content</h2>
  5.   <p class="content-text">.....</p>
  6.   <span class="close">+</span>
  7. </div>

CSS 样式:

在 CSS 样式中,所有图片依次排列,左边的图片依次向下减少 100vh,右边的图片依次向上增加 100vh。座用于制作左右图片的滚动效果,具体的滚动效果实现代码是在 js 中完成的。

  1. .img-cont.cont-2.left {
  2.   margin-top: -100vh;
  3. }
  4. .img-cont.cont-2.right {
  5.   margin-top: 100vh;
  6. }
  7. .img-cont.cont-3.left {
  8.   margin-top: -200vh;
  9. }
  10. .img-cont.cont-3.right {
  11.   margin-top: 200vh;
  12. }
  13. ......

全屏图片的内容开始时是不可见的,在点击了左边或右边的缩略图之后,它被添加 visibleclass,内容变为可见状态。

  1. .content {
  2.   position: absolute;
  3.   top: 0;
  4.   left: 0;
  5.   width: 100%;
  6.   height: 100%;
  7.   display: none;
  8.   background: rgba(0, 0, 0, 0.5);
  9.   padding: 2rem;
  10.   overflow-x: hidden;
  11.   overflow-y: auto;
  12.   color: #f9bdbb;
  13.   z-index: 2000;
  14. }
  15. .content.visible {
  16.   opacity: 1;
  17. }

CSS 样式:

在 jQuery 代码中,为了实现左右滚动效果,在 HTML 标签中使用 data-helper 实现来标记每一幅图片需要滚动的屏数。data-helper="-1"表示要向下滚动一屏,data-helper="1"表示要向上滚动一屏。然后,在 jQuery 代码中通过解析 data-helper 的值,用这个值乘以 100vh 来作为 margin-top 属性的值,实现滚动效果。

  1. function doMargins(paramPage) {
  2.     scrolling = true;
  3.     var _page = paramPage || curPage;
  4.     $left.each(function () {
  5.         var marginMult = parseInt($(this).attr('data-helper'), 10) + _page - 1;
  6.         $(this).attr('style', 'margin-top: ' + marginMult * 100 + 'vh');
  7.     });
  8.     $right.each(function () {
  9.         var marginMult = parseInt($(this).attr('data-helper'), 10) - _page + 1;
  10.         $(this).attr('style', 'margin-top: ' + marginMult * 100 + 'vh');
  11.     });
  12.     setTimeout(function () {
  13.         scrolling = false;
  14.     }, 1000);
  15. }

其它实现代码请参考下载文件。

jQuery 创意响应式两栏滚动幻灯片特效

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

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

发表回复

热销模板

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

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