图片旋转木马效果

Transition.gif

代码很简单,大概 思路:
1, 添加图片, 设置position, 图片叠加, 共用一个中心点;
2, 图片设置y轴旋转, 共9张, 一圈360°, 每张依次旋转+=40°, 第一张旋转0°;
3, 将图片拉开排布, 设置translateZ( );
4, 添加点击事件, 让图片动起来.


话不多说,看代码

1, 结构

<body>
    <div class="wrap">
      <div id="content">
        <img src="image/1.jpg" alt="" />
        <img src="image/2.jpeg" alt="" />
        <img src="image/3.jpeg" alt="" />
        <img src="image/4.jpeg" alt="" />
        <img src="image/5.jpg" alt="" />
        <img src="image/6.jpg" alt="" />
        <img src="image/7.jpg" alt="" />
        <img src="image/8.jpg" alt="" />
        <img src="image/9.jpg" alt="" />
      </div>
    </div>
  </body>

2, 样式

<style media="screen">
    /*图片大小*/
      img {
        width: 140px;
        height: 110px;
        position: absolute;
      }
      .wrap {
        width: 100px;
        margin: 0 auto;
        margin-top: 100px;
        -webkit-perspective: 800px;
      }
      #content {
        -webkit-transform-style:preserve-3d;
        transition: 2s;
      }
      /*图片旋转*/
      img:nth-child(1) {
        transform: rotateY(0deg) translateZ(220px);
      }
      img:nth-child(2) {
        transform: rotateY(40deg) translateZ(220px);
      }
      img:nth-child(3) {
        transform: rotateY(80deg) translateZ(220px);
      }
      img:nth-child(4) {
        transform: rotateY(120deg) translateZ(220px);
      }
      img:nth-child(5) {
        transform: rotateY(160deg) translateZ(220px);
      }
      img:nth-child(6) {
        transform: rotateY(200deg) translateZ(220px);
      }
      img:nth-child(7) {
        transform: rotateY(240deg) translateZ(220px);
      }
      img:nth-child(8) {
        transform: rotateY(280deg) translateZ(220px);
      }
      img:nth-child(9) {
        transform: rotateY(320deg) translateZ(220px);
      }
    </style>

3, javaScript

<script type="text/javascript">
    var content = document.getElementById('content');
    var angel = 40;
    //添加点击事件让图片旋转
    content.onclick = function () {
      content.style.transform = 'rotateY('+angel+'deg)';
      angel += 40;
    }
  </script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,539评论 25 709
  • Yang RC, Ye TZ, Blade SF, Bandara M. Efficiency of Spatia...
    董八七阅读 378评论 0 0
  • 夜空像一块巨大的黑布从上面遮盖下来,悬挂着的点点星辰和远处的虫鸣声。苏萧觉得这一切就像一部悲剧。 苏萧抬起头,斜着...
    古小枫阅读 307评论 0 0
  • 1、使用数组拼接出如下字符串 2、写出两种以上声明多行字符串的方法 3、补全如下代码,让输出结果为字符串: hel...
    HaveSea阅读 358评论 0 0
  • 《欢乐颂》有这样一个桥段: 王柏川第一次约樊胜美吃饭,樊胜美为了隐瞒自己跟别人合租房的实情,特意叫上安迪开车接送,...
    Sandy曲辰阅读 1,310评论 0 2