先看效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>3d变换</title>
<style>
#container {
perspective: 1600px;
position: relative;
width: 1000px;
height:800px;
border: 1px solid #f00;
margin: 30px auto;
}
#content,#content1{
transform-style: preserve-3d;
width: 200px;
height:100px;
position: absolute;
left:50%;
top: 50%;
margin: -50px 0 0 -100px;
}
#content img,#content1 img{
position: absolute;
transition: all 1s;
}
</style>
</head>
<body>
<div id="container">
<div id="content"><!--垂直旋转的容器-->
<img src="img/img1.jpg">
<img src="img/img2.jpg">
<img src="img/img3.jpg">
<img src="img/img4.jpg">
<img src="img/img5.jpg">
<img src="img/img6.jpg">
<img src="img/img7.jpg">
<img src="img/img8.jpg">
<img src="img/img9.jpg">
<img src="img/10.jpg"/>
<img src="img/11.jpg"/>
<img src="img/12.jpg"/>
<img src="img/13.jpg"/>
<img src="img/14.jpg"/>
</div>
<div id="content1"><!--水平旋转的容器-->
<img src="img/img1.jpg">
<img src="img/img2.jpg">
<img src="img/img3.jpg">
<img src="img/img4.jpg">
<img src="img/img5.jpg">
<img src="img/img6.jpg">
<img src="img/img7.jpg">
<img src="img/img8.jpg">
<img src="img/img9.jpg">
<img src="img/10.jpg"/>
<img src="img/11.jpg"/>
</div>
</div>
</body>
</html>
<noscript>您的浏览器未启用JavaScript或不支持JavaScript</noscript>
<script>
var container=document.getElementById('container');
var content=document.getElementById('content');//此容器将做垂直方向的旋转
var content1=document.getElementById('content1');//此容器将做水平方向的旋转
var imgs=content.getElementsByTagName('img');
var imgs1=content1.getElementsByTagName('img');
//首张图片旋转角度,和每张图片相隔的角度:
var firstdeg= 0,rotatedeg=360/imgs.length,rotatedeg1=360/imgs1.length;
var speed=0,speed1=0;
//主要的功能函数:
var transformStar=function (firstdeg,imgs,imgwidth,imgheight,imgmargin,vertical){
var l=imgs.length;
var direct=vertical ? "rotateX" : "rotateY";
var x=vertical ? imgheight : imgwidth;
var radius=x/(Math.tan(Math.PI/l)*2)+imgmargin+"px";//计算出图片距离旋转中心的垂直距离
for (var i= 0;i<l;i++){
imgs[i].style.width=imgwidth+"px";
imgs[i].style.height=imgheight+"px";
imgs[i].style['transform']=direct+'('+(i*(360/l)+firstdeg)+'deg'+')'+'translateZ('+radius+')';
imgs[i].style['-webkit-transform']=direct+'('+(i*(360/l)+firstdeg)+'deg'+')'+'translateZ('+radius+')';
imgs[i].style['-moz-transform']=direct+'('+(i*(360/l)+firstdeg)+'deg'+')'+'translateZ('+radius+')';
imgs[i].style['-o-transform']=direct+'('+(i*(360/l)+firstdeg)+'deg'+')'+'translateZ('+radius+')';
}
};
transformStar(firstdeg,imgs,180,140,50,true);//垂直旋转的容器的初始状态
transformStar(firstdeg,imgs1,180,140,80,false);//水平旋转的容器的初始状态
//添加定时器使自动旋转:
var timer;
function autoRotate(){
clearTimeout(timer);
speed+=rotatedeg;//使第一张图片的旋转角度每次加一个值(各个图片相隔的角度)
speed1+=rotatedeg1;
transformStar(speed,imgs,180,140,50,true);
transformStar(speed1,imgs1,180,140,50,false);
timer=setTimeout(autoRotate,1000);
}
timer=setTimeout(autoRotate,1000);
//终止定时器的函数:
function stopAutoRotate(){
clearTimeout(timer);
}
//开启定时器的函数:
function startAutoRotate(){
timer=setTimeout(autoRotate,1000);
}
container.addEventListener('mouseover',stopAutoRotate,false);//鼠标移入停止自动旋转
container.addEventListener('mouseout',startAutoRotate,false);
//添加点击事件实现手动旋转:
container.addEventListener('click',rotateStar,false);
function rotateStar(e){
var e=e||window.event;
var contwidth=this.offsetWidth;
var deg=e.offsetX>=contwidth/2 ? rotatedeg : -rotatedeg;//判断鼠标点击的位置以决定转动的方向
var deg1=e.offsetX>=contwidth/2 ? rotatedeg1 : -rotatedeg1;
speed+=deg;
speed1+=deg1;
transformStar(speed,imgs,180,140,50,true);
transformStar(speed1,imgs1,180,140,50,false);
}
</script>
- 大小: 75.3 KB
分享到:
相关推荐
在本文中,我们将深入探讨如何使用CSS3的`transform`属性来实现一个令人惊叹的3D图片旋转木马效果。CSS3的`transform`特性为Web开发者提供了强大的能力,可以对元素进行平移、旋转、缩放和扭曲等多种变换,从而创造...
3D旋转木马效果相册利用了CSS3的transform属性,尤其是rotateY()和perspective属性,这两个属性结合可以创建出立体的3D旋转效果。rotateY()函数负责沿着Y轴进行旋转,而perspective属性则设置观察者到3D变换原点的...
同时,CSS3的3D变换如`transform: rotateX()`和`transform: translateZ()`则用于创建3D旋转和位移效果。 接下来,我们需要关注组件的结构和数据管理。一个完整的3D轮播组件通常包含以下几个部分:轮播容器、轮播项...
demo预览:http://124.223.118.176/3DPicture ...JS 3D相册旋转木马网页特效是一款炫酷的3D相册旋转木马网页特效,除了图片相册、增加了视频播放和背景音乐播放,相对比普通3D相册旋转木马,功能上了一个层次。
在IT行业中,网页动态效果是提升用户体验的重要手段之一,而"js图片层叠3D旋转木马轮播特效"正是这种动态效果的典型应用。这个压缩包文件包含了一个使用JavaScript实现的3D旋转木马式的图片轮播效果,旨在让网站的...
3D图片旋转木马通常会包含以下核心知识点: 1. **CSS3 3D变换**:使用`transform`属性,如`rotateX`、`rotateY`和`rotateZ`来创建3D旋转效果。同时,`perspective`属性设置观察者的透视距离,影响3D元素的深度感。 ...
接着,旋转木马效果的实现通常基于CSS3的transform属性,特别是rotateY()函数,它可以实现元素沿Y轴的旋转。配合transition属性,可以平滑过渡到下一个图片,从而实现旋转切换的效果。同时,为了实现层叠效果,可以...
这个效果利用了CSS3的透视(perspective)和转换(transform)属性,使静态的图片呈现出动态的3D旋转效果,为用户提供了一种独特的浏览体验。 首先,`perspective`属性是实现3D效果的关键。它定义了观察者与3D元素...
2. CSS3:CSS3是CSS的最新版本,引入了3D变换功能,如`rotateX()`, `rotateY()`, `rotateZ()`等,使得网页元素可以进行3D旋转。在旋转木马效果中,CSS3用于实现项目的平滑旋转和平移,创造3D空间感。 3. JavaScript...
总的来说,"jQuery 3D图片旋转木马"结合了jQuery的便利性、CSS3的3D转换和JavaScript的动画控制,创建了一种动态展示图片的高级方式。通过合理的布局和编程,可以为网站增添生动活泼的元素,提高用户互动性。而...
在这个实例中,CSS被用来创建一个视觉上吸引人的3D旋转木马效果,让用户能够以一种新颖的方式浏览图片相册。 1. **3D转换**:CSS3引入了3D转换,允许元素在三维空间中进行变换,如旋转、缩放和移动。在本实例中,`...
总之,jQuery图片3D旋转木马轮播焦点图是结合了jQuery的动态性、CSS3的3D变换和用户交互设计的一种高级网页图像展示技术。通过熟练掌握这些技术,开发者可以创建出更加引人入胜、交互性强的网页内容。
综上所述,"js+CSS3 3D旋转木马特效插件"是一个集成了JavaScript动态编程和CSS3 3D变换技术的创新解决方案,它为网页带来了富有视觉冲击力和交互性的3D旋转展示效果。通过理解和运用这些知识点,开发者能够创建出更...
"旋转木马3D环形特效"是一种在UI设计中常用的动态展示效果,通常用于应用启动页、商品展示或者图片轮播等场景。这个特效模拟了真实的旋转木马,将内容元素排列成环形,随着时间和用户的交互进行旋转,给予用户视觉上...
【js 3D旋转木马特效插件】是一种利用JavaScript和CSS3技术实现的互动式图形展示工具,常用于网站中的产品展示或艺术作品展览。它借鉴了旋转木马的旋转概念,为用户提供了一个立体、动态的视觉体验,使得图片在3D...
Css3-3d-transform__实现图片旋转木马3D效果</ title > </ head > < style > # doc { height : 600 px ; position : relative; overflow : hidden; background-color : # ddd ; } # stage { ...
总的来说,HTML5手机端3D图片旋转木马展示了HTML5、JavaScript以及可能的WebGL和CSS3技术的结合应用,实现了在移动设备上呈现酷炫3D效果的能力。通过分析和学习这个"ImageRotator"项目,开发者可以深入理解这些技术...
3. **说明.txt**:这个文件可能包含了关于如何使用或部署3D旋转木马的说明,包括配置、设置以及可能遇到的问题和解决方案。阅读这个文件可以帮助我们更好地理解和使用提供的资源。 4. **carousel_xml.swf**:这是...
本文将深入探讨“Flash 3D旋转木马图片自动循环播放代码”的相关知识点,帮助读者理解如何利用Flash技术实现这一效果。 首先,我们要明白Flash 3D指的是在Flash环境中创建和展示三维图形的技术。尽管现代Web开发更...