happy175 发表于 2016-3-3 11:50:35

移动手机APP滑动手指切换图片特效

这是一款效果非常炫酷的移动手机APP滑动手指切换图片特效。该APP特效在移动手机中用户可以通过手指的左右滑动来切换图片,在桌面设备中通过鼠标也可达到同样的效果。


在线预览   下载:

使用方法 HTML结构这个移动手机APP切换图片特效的HTML结构采用嵌套的HTML结构,每一张图片卡片都包裹在 div.demo__card 中,里面放置了图片,描述信息和一些额外的图层。
<div class="demo__card">
<div class="demo__card__top brown">
    <div class="demo__card__img"></div>
    <p class="demo__card__name">Hungry cat</p>
</div>
<div class="demo__card__btm">
    <p class="demo__card__we">Whatever</p>
</div>
<div class="demo__card__choice m--reject"></div>
<div class="demo__card__choice m--like"></div>
<div class="demo__card__drag"></div>
</div>

m--reject 是向左移动图片时的图层,m--like 是向右移动图片时的图层,demo__card__drag 是拖动层。
JavaScript
在jQuery代码中,pullChange() 函数用于设置向左和向右两个滑动层的旋转角度和透明度。release() 函数用于判断用户是向左还是向右滑动手指,并为这些动作在DOM元素上添加相应的class。function pullChange() {
    animating = true;
    deg = pullDeltaX / 10;
    $card.css('transform', 'translateX(' + pullDeltaX + 'px) rotate(' + deg + 'deg)');
    var opacity = pullDeltaX / 100;
    var rejectOpacity = opacity >= 0 ? 0 : Math.abs(opacity);
    var likeOpacity = opacity <= 0 ? 0 : opacity;
    $cardReject.css('opacity', rejectOpacity);
    $cardLike.css('opacity', likeOpacity);
}
;
function release() {
    if (pullDeltaX >= decisionVal) {
      $card.addClass('to-right');
    } else if (pullDeltaX <= -decisionVal) {
      $card.addClass('to-left');
    }
    if (Math.abs(pullDeltaX) >= decisionVal) {
      $card.addClass('inactive');
      setTimeout(function () {
            $card.addClass('below').removeClass('inactive to-left to-right');
            cardsCounter++;
            if (cardsCounter === numOfCards) {
                cardsCounter = 0;
                $('.demo__card').removeClass('below');
            }
      }, 300);
    }
    if (Math.abs(pullDeltaX) < decisionVal) {
      $card.addClass('reset');
    }
    setTimeout(function () {
      $card.attr('style', '').removeClass('reset').find('.demo__card__choice').attr('style', '');
      pullDeltaX = 0;
      animating = false;
    }, 300);
};
最后监听 mousedown 和 touchstart 事件,并对非 .inactive 的卡片元素执行卡片切换操作。$(document).on('mousedown touchstart', '.demo__card:not(.inactive)', function (e) {
    if (animating)
      return;
    $card = $(this);
    $cardReject = $('.demo__card__choice.m--reject', $card);
    $cardLike = $('.demo__card__choice.m--like', $card);
    var startX = e.pageX || e.originalEvent.touches.pageX;
    $(document).on('mousemove touchmove', function (e) {
      var x = e.pageX || e.originalEvent.touches.pageX;
      pullDeltaX = x - startX;
      if (!pullDeltaX)
            return;
      pullChange();
    });
    $(document).on('mouseup touchend', function () {
      $(document).off('mousemove touchmove mouseup touchend');
      if (!pullDeltaX)
            return;
      release();
    });
});



kaorou37 发表于 2016-3-4 04:26:39

好帖要顶,楼主的头像还是不错滴http://forumimage.org/images/icon01.jpghttp://forumimage.org/images/icon02.jpghttp://forumimage.org/images/icon03.jpghttp://forumimage.org/images/icon04.jpghttp://forumimage.org/images/icon05.jpghttp://forumimage.org/images/icon06.jpghttp://forumimage.org/images/icon07.jpghttp://forumimage.org/images/icon08.jpghttp://forumimage.org/images/icon09.jpghttp://forumimage.org/images/icon10.jpghttp://forumimage.org/images/icon11.jpghttp://forumimage.org/images/icon12.jpghttp://forumimage.org/images/icon13.jpghttp://forumimage.org/images/icon14.jpghttp://forumimage.org/images/icon15.jpg

kaorou37 发表于 2016-3-4 15:03:26

好帖要顶,楼主的头像还是不错滴http://forumimage.org/images/icon01.jpghttp://forumimage.org/images/icon02.jpghttp://forumimage.org/images/icon03.jpghttp://forumimage.org/images/icon04.jpghttp://forumimage.org/images/icon05.jpghttp://forumimage.org/images/icon06.jpghttp://forumimage.org/images/icon07.jpghttp://forumimage.org/images/icon08.jpghttp://forumimage.org/images/icon09.jpghttp://forumimage.org/images/icon10.jpghttp://forumimage.org/images/icon11.jpghttp://forumimage.org/images/icon12.jpghttp://forumimage.org/images/icon13.jpghttp://forumimage.org/images/icon14.jpghttp://forumimage.org/images/icon15.jpg

fhuj3d96 发表于 2016-12-3 02:47:09

真的是很好的帖子顶你
廊坊印刷厂 http://www.bjard.com
北京印刷厂 http://www.bjard.com
廊坊纸箱厂 http://www.bjard.com

fhuj3d96 发表于 2016-12-7 15:31:54

回帖是必须的,这个可以有!
http://www.xszsz.com/tai/1860.html
http://www.xszsz.com/tai/1861.html
http://www.xszsz.com/tai/1862.html
http://www.xszsz.com/tai/1863.html
http://www.xszsz.com/tai/1864.html
http://www.xszsz.com/tai/1865.html
http://www.xszsz.com/tai/1880.html
http://www.xszsz.com/tai/1881.html
http://www.xszsz.com/tai/1882.html
http://www.xszsz.com/tai/1897.html
http://www.xszsz.com/tai/1898.html
http://www.xszsz.com/tai/1899.html
http://www.xszsz.com/tai/1883.html
http://www.xszsz.com/tai/1884.html

fhuj3d96 发表于 2017-1-14 04:01:08

真的谢谢了!

fhuj3d96 发表于 2017-1-17 22:46:54

我也来看了,很不错,收藏了

lushan517034 发表于 2017-7-2 09:13:51

佩服,佩服!
内饰件ccc认证         http://www.rlzlt.com/
首选CCC认证         http://www.rlzlt.com/
CCC全包         http://www.rlzlt.com/
体系全包         http://www.rlzlt.com/
TS16919认证         http://www.rlzlt.com/
Ts27001认证         http://www.rlzlt.com/
专业高压检测         http://www.rlzlt.com/
企业体系辅导         http://www.rlzlt.com/
中国体系认证         http://www.rlzlt.com/
中国CCC认证         http://www.rlzlt.com/
快速取证         http://www.rlzlt.com/
中国质量认证中心网         http://www.rlzlt.com/
cqc中国质量认证中心         http://www.rlzlt.com/
中国质量认证中心         http://www.rlzlt.com/
质量体系认证权威机构         http://www.rlzlt.com/
权威iso体系认证         http://www.rlzlt.com/
中国ccc认证         http://www.rlzlt.com/
中国强制认证ccc         http://www.rlzlt.com/
中国ccc认证网         http://www.rlzlt.com/
中国ccc认证平台         http://www.rlzlt.com/
服装erp            http://www.hanson.cn/
页: [1]
查看完整版本: 移动手机APP滑动手指切换图片特效