js和CSS3实现卡牌旋转切换效果

不言
发布: 2018-06-25 16:28:54
原创
2714 人浏览过

这篇文章主要为大家详细介绍了js CSS3实现卡牌旋转切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们经常会在游戏里看到一些几张卡牌左右切换的效果,中间的一张最突出醒目,向左或向右滑动可切换到另一张,今天我们就用CSS3来实现下这种效果。

我们先来看个demo,具体的样式各位可以自己调整:

(PC下可点击按钮切换,移动端可左右滑动切换)

从效果上我们可以看到,这5个p可以左右的切换,每次切换时总会有一个在中间显眼的位置进行展示。在切换时,看起来是p进行了移动,进行了DOM的增删操作。但是如果审查下元素,就能看到,DOM元素没有变换位置,它依然在那个位置,我们只是切换了每个元素上的class,于是页面上的位置看起来是发生了变化。

其实原理就是这样的: 不进行DOM的增删,为每个位置上的p都写上特定的样式,每个p都进行绝对定位,然后进行样式的轮播。 每次切换都有个0.6s过渡过程:

-webkit-transition: all 0.6s; transition: all 0.6s;
登录后复制

比如从左往右的class分别为:item_0, item_1, item_cur, item_3, item_4,每个class都是当前所在p的定位,向左滑动时,右边的p会切换到中间,这样class从左往右就变成了item_1, item_cur, item_3, item_4, item_0。

var egg_change = function(type){ var $demo = $('.demo'), index = parseInt( $demo.attr('index_cur')||2 ), $item = $('.demo .item'), len = $item.length; if( type=='left' ){ index = (index+1)%len; }else{ index = (index-1+len)%len; } $demo.attr('index_cur', index); $item.removeClass('item_0 item_1 item_3 item_4 item_cur'); $item.eq( (index-2+len)%len ).addClass('item_0'); $item.eq( (index-1+len)%len ).addClass('item_1'); $item.eq(index).addClass('item_cur'); $item.eq( (index+1)%len ).addClass('item_3'); $item.eq( (index+2)%len ).addClass('item_4'); }
登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

JavaScript如何判断浏览器对CSS3属性是否支持

js和css3实现旋转效果

jQuery和CSS3折叠卡片式下拉列表框实现效果

以上是js和CSS3实现卡牌旋转切换效果的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!