当前位置: 首页 > news >正文

jQuery实现3D轮播图

通过CSS3的3D变换和jQuery Transit插件实现了一个3D旋转的图片轮播效果

HTML部分:

  • div id=“banner”:定义了一个id为"banner"的div标签,作为图片轮播的容器。

  • ul: 在"banner"中定义了一个无序列表,每个列表项li包含一张图片,这些图片将在页面上以3D旋转的方式展示。

CSS部分:

  • #banner:设置了"banner"的宽度、高度、边框、背景颜色等属性,并设置了透视距离和观察者的位置,这两个属性是实现3D效果的关键。

  • ul:设置了无序列表的宽度、高度、位置等属性,特别地,设置了transform-style: preserve-3d;来保留3D转换效果,transform-origin: center center -520px;来设置旋转的原点。

  • ul>li:设置了列表项的宽度、高度、位置等属性,且每个列表项都被设定了固定的旋转角度,使得它们在3D空间中呈现出环形排列。

JavaScript部分:

  • 使用了jQuery库和jQuery Transit插件。jQuery是一个快速、简洁的JavaScript库,jQuery Transit是一个用于创建CSS3 transformations和transitions的jQuery插件。

  • setInterval(function(){…}, 2000);:每2000毫秒(即2秒)执行一次匿名函数。在这个匿名函数中,使用了jQuery Transit的transition()方法对

    • 元素进行操作,使其沿Y轴旋转60度,达到了图片轮播的效果。

  • 引入的js文件

    • jQuery.js https://jquery.com/
    • jquery.transit.js https://github.com/rstacruz/jquery.transit
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>*{margin: 0;padding:0;list-style: none;}#banner{width:1000px;height: 500px;border: 1px solid red;margin: 0 auto;background:#000;perspective: 1000px;   /*景深属性*/perspective-origin: top;   /*观察着观看的位置*/}ul{width:600px;height:300px;margin: 100px 200px;position: relative;transform-style: preserve-3d;transform-origin: center center -520px;}ul>li{width:600px;height:300px;position: absolute;left:0;top:0;background: #ccc;overflow: hidden;transform-origin: center center -520px;opacity: 0.8;}ul>li:first-child{transform: rotateY(60deg);}ul>li:nth-child(2){transform: rotateY(120deg);}ul>li:nth-child(3){transform: rotateY(180deg);}ul>li:nth-child(4){transform: rotateY(240deg);}ul>li:nth-child(5){transform: rotateY(300deg);}ul>li:nth-child(6){transform: rotateY(360deg);}ul>li>img{width:600px;height:auto;}</style>
</head>
<body>
<div id="banner"><ul><li><img src="img/banner1.jpg" alt=""></li><li><img src="img/banner2.jpg" alt=""></li><li><img src="img/banner3.jpg" alt=""></li><li><img src="img/banner4.jpg" alt=""></li><li><img src="img/banner5.jpg" alt=""></li><li><img src="img/banner6.jpg" alt=""></li></ul>
</div>
<script src="js/jQuery.js"></script>
<script src="js/jquery.transit.js"></script>
<script>setInterval(function(){$("ul").transition({rotateY:"-=60deg"},"linear");},2000);
</script>
</body>
</html>
http://www.lryc.cn/news/253984.html

相关文章:

  • Java面试题(每天10题)-------连载(43)
  • Python高级数据结构——并查集(Disjoint Set)
  • pytorch学习9-优化器学习
  • MySQL之锁
  • 今日现货黄金最新建议
  • 基于混沌算法的图像加密解密系统
  • vscode插件离线下载
  • 第二十一章总结
  • 查看端口占用并杀死进程
  • 前后端数据传输格式(上)
  • maven的package和install命令有什么区别以及Maven常用命令与GAV坐标与Maven依赖范围与Maven依赖传递与依赖排除与统一声明版本号
  • 【动手学深度学习】(六)权重衰退
  • 动手学习深度学习-跟李沐学AI-自学笔记(3)
  • 3.2 Puppet 和 Chef 的比较与应用
  • promise使用示例
  • 一起学docker系列之十四Dockerfile微服务实践
  • Qt Creator 11.0.3同时使用Qt6.5和Qt5.14.2
  • Python中字符串列表的相互转换详解
  • 09、pytest多种调用方式
  • 分布式锁常见实现方案
  • 26、pytest使用allure解读
  • Uncle Maker: (Time)Stamping Out The Competition in Ethereum
  • 浅谈可重入与线程安全
  • 深入理解TDD(测试驱动开发):提升代码质量的利器
  • pyqt5使用pyqtgraph实现动态热力图
  • 【android开发-16】android中文件和sharedpreferences数据存储详解
  • 《当代家庭教育》期刊论文投稿发表简介
  • 【操作教程】如何将外省医保转入广州市区(医保转移接续手续办理)?
  • 【分布式系统学习】CAP原理详解
  • 【聚类】K-modes和K-prototypes——适合离散数据的聚类方法