摘自《新兴网络》
<html>
<head>
<title>JS 实现3D立体效果的图片幻灯切换</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style>
html {background:#000}
body, ul {margin:0;padding:0}
li {list-style:none}
img {border:none;display:block}
.slide-wp {
width: 500px;
height: 300px;
overflow: hidden;
position: absolute;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -150px;
}
.nav-wp {
position: absolute;
background: #ccc;
top: 50%;
margin-top: 170px;
left: 50%;
margin-left: -100px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
padding: 0 20px 6px 10px;
_padding: 0 20px 2px 10px;
}
.nav li {
float: left;
margin-left: 10px;
font-size: 20px;
font-weight: bold;
font-family: tahoma;
color: #22739e;
cursor: pointer;
height: 22px;
}
.nav li.cur{color: #ff7a00}
.next {
position:absolute;
top: 0;
left: 160px;
padding: 4px 8px;
color: #ff7a00;
background: #ccc;
height: 20px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
cursor: pointer;
}
</style>
</head>
<body>
<h2 style="color:#fff">对于使用IE6的同学看到的斑点,我只能表示很无奈。。。</h2>
<div id="slider" class="slide-wp">
<ul>
<li><a href="http://www.newxing.com/" target="_blank"><img src="http://www.newxing.com/img/450/1.jpg" alt="" /></a></li>
<li><a href="http://www.newxing.com/" target="_blank"><img src="http://www.newxing.com/img/450/2.jpg" alt="" /></a></li>
<li><a href="http://www.newxing.com/" target="_blank"><img src="http://www.newxing.com/img/450/3.jpg" alt="" /></a></li>
<li><a href="http://www.newxing.com/" target="_blank"><img src="http://www.newxing.com/img/450/4.jpg" alt="" /></a></li>
<li><a href="http://www.newxing.com/" target="_blank"><img src="http://www.newxing.com/img/450/5.jpg" alt="" /></a></li>
</ul>
</div>
<div class="nav-wp">
<ul id="nav" class="nav">
<li onclick="mySlider.pos(0)">●</li>
<li onclick="mySlider.pos(1)">●</li>
<li onclick="mySlider.pos(2)">●</li>
<li onclick="mySlider.pos(3)">●</li>
<li onclick="mySlider.pos(4)">●</li>
</ul>
<a class="next" onclick="mySlider.move()">next</a>
</div>
<script type="text/javascript">
var HR = {
$ : function(i) {return document.getElementById(i)},
$$ : function(c, p) {return p.getElementsByTagName(c)},
ce : function(i, t) {
var o = document.createElement(i);
t.appendChild(o);
return o;
}
};
HR.slider3D = function () {
var init = function (o) {
this.o = o;
var wp = HR.$(o.id), ul = HR.$$('ul', wp)[0], li = this.li = HR.$$('li', ul);
this.l = li.length;
this.w = wp.offsetWidth;
this.h = wp.offsetHeight;
this.at = o.auto? o.auto : 4;
var con = this.con = HR.ce('div', wp);
con.style.cssText = 'position:absolute;left:0;top:0;width:'+this.w+'px;height:'+this.h+'px';
ul.style['display'] = 'none';
this.a1 = HR.ce('a', con);
this.a1.style.cssText = 'position:absolute;left:0;top:0;overflow:hidden';
this.a2 = HR.ce('a', con);
this.a2.style.cssText = 'position:absolute;top:0;right:0;overflow:hidden';
this.a1.innerHTML = this.a2.innerHTML = '<img alt="" />';
this.img = HR.$$('img', ul);
this.s = o.maskSize ? o.maskSize : 5;
this.mask11 = HR.ce('span', this.a1);
this.mask12 = HR.ce('span', this.a1);
this.mask21 = HR.ce('span', this.a2);
this.mask22 = HR.ce('span', this.a2);
this.pos(0);
}
init.prototype = {
pos : function (i) {
clearInterval(this.li[i].a); clearInterval(this.au); this.au = 0; this.cur = i;
var navli = HR.$$('li', HR.$(this.o.navId));
for (var j=0; j<navli.length; j++) {
navli[j].className = i == j ? 'cur' : '';
}
var img1 = HR.$$('img', this.a1)[0], img2 = HR.$$('img', this.a2)[0], _this = this;
img1.src = i==0 ? this.img[this.l-1].src : this.img[i-1].src;
img1.width = this.w;
img2.src = this.img[i].src;
img2.width = 0;
img1.height = img2.height = this.h;
this.mask11.style.cssText = 'position:absolute;left:0;top:0;font-size:0;overflow:hidden;width:0;height:0;border-color:black transparent transparent black;border-style:solid dashed dashed solid;border-width:0 '+this.w/2+'px';
this.mask12.style.cssText = 'position:absolute;left:0;bottom:0;font-size:0;overflow:hidden;width:0;height:0;border-color:transparent transparent black black;border-style:dashed dashed solid solid;border-width:0 '+this.w/2+'px';
this.mask21.style.cssText = 'position:absolute;right:0;top:0;font-size:0;overflow:hidden;width:0;height:0;border-color:black black transparent transparent;border-style:solid solid dashed dashed;border-width:0px';
this.mask22.style.cssText = 'position:absolute;right:0;bottom:0;font-size:0;overflow:hidden;width:0;height:0;border-color:transparent black black transparent;border-style:dashed solid solid dashed;border-width:0px';
this.li[i].a = setInterval(function(){_this.anim(i)}, 20);
},
anim : function (i) {
var w1 = HR.$$('img', this.a1)[0].width, w2 = HR.$$('img', this.a2)[0].width;
if (w2 == this.w) {
clearInterval(this.li[i].a);
HR.$$('img', this.a1)[0].width = 0;
HR.$$('img', this.a2)[0].width = this.w;
this.mask11.style.borderLeftWidth = this.mask11.style.borderRightWidth = this.mask12.style.borderLeftWidth = this.mask12.style.borderRightWidth = '0px';
this.mask11.style.borderTopWidth = this.mask11.style.borderBottomWidth = this.mask12.style.borderTopWidth = this.mask12.style.borderBottomWidth = this.h/this.s + 'px';
this.mask21.style.borderLeftWidth = this.mask21.style.borderRightWidth = this.mask22.style.borderLeftWidth = this.mask22.style.borderRightWidth = this.w/2 + 'px';
this.mask21.style.borderTopWidth = this.mask21.style.borderBottomWidth = this.mask22.style.borderTopWidth = this.mask22.style.borderBottomWidth = '0px';
}else {
HR.$$('img', this.a1)[0].width -= Math.ceil((this.w-w2)*.13);
HR.$$('img', this.a2)[0].width += Math.ceil((this.w-w2)*.13);
this.mask11.style.borderLeftWidth = this.mask11.style.borderRightWidth = this.mask12.style.borderLeftWidth = this.mask12.style.borderRightWidth = HR.$$('img', this.a1)[0].width/2 + 'px';
this.mask11.style.borderTopWidth = this.mask11.style.borderBottomWidth = this.mask12.style.borderTopWidth = this.mask12.style.borderBottomWidth = HR.$$('img', this.a2)[0].width*this.h/(this.s*this.w) + 'px';
this.mask21.style.borderLeftWidth = this.mask21.style.borderRightWidth = this.mask22.style.borderLeftWidth = this.mask22.style.borderRightWidth = HR.$$('img', this.a2)[0].width/2 + 'px';
this.mask21.style.borderTopWidth = this.mask21.style.borderBottomWidth = this.mask22.style.borderTopWidth = this.mask22.style.borderBottomWidth = this.h/this.s - HR.$$('img', this.a2)[0].width*this.h/(this.s*this.w) + 'px';
if (!this.au) this.auto();
}
},
auto : function () {
var _this = this;
this.au = setInterval(function(){_this.move()}, this.at*1000);
},
move : function () {
var n = this.cur==this.l-1 ? 0 : this.cur+1;
this.pos(n);
}
}
return init;
}();
var mySlider = new HR.slider3D({
id: 'slider',
maskSize: 6,
navId: 'nav',
auto: 4
})</SCRIPT></body>
</html>
效果图如下:
- 大小: 124.6 KB
分享到:
相关推荐
在本项目中,"jquery+css3实现图片3D切换效果"是一个利用现代Web技术创建交互式用户体验的实例。这个项目结合了JavaScript库jQuery和CSS3的强大功能,为用户提供了一种创新的方式来展示和切换图片,特别是在网页设计...
标题中的“立体图片幻灯切换效果代码(html代码,javascript)”指的是使用HTML和JavaScript技术实现的一种网页动态效果,这种效果能够使图片以立体的方式进行幻灯片式的切换,为用户带来更丰富的视觉体验。在网页设计...
通过CSS3的3D转换和透视效果,可以创建出立体感的幻灯片切换。CSS3的`transform`属性可以改变元素的位置、大小、形状,而`perspective`属性则可以模拟3D空间的透视效果。结合jQuery的动画功能,可以实现平滑的3D翻转...
在本文中,我们将深入探讨如何使用原生JavaScript实现图片倒影幻灯片切换效果。这是一种常见于网页设计中的动态展示技术,它能为用户带来视觉上的吸引力和交互性。我们将从以下几个方面详细介绍这一主题: 1. **...
【jQuery图片3d翻转切换展示幻灯片特效】是一种基于jQuery库的创新性图片展示技术,它结合了CSS3的3D变换功能,为用户提供了一种独特且引人注目的图片浏览体验。这种特效在网页设计中尤其受到欢迎,因为它能够使网页...
本文将深入探讨“jQuery 3D响应式幻灯片带左右按钮的图片滑动切换效果”这一主题,包括其核心原理、实现方法以及如何利用jQuery和CSS3实现3D视觉效果。 首先,jQuery 3D幻灯片的核心在于通过模拟3D空间中的物体转换...
【jQuery鼠标悬停3d立体幻灯片切换动画效果源码】是一种常见的网页交互设计,主要利用jQuery库和CSS3的3D变换技术,为网站的图像展示或内容滚动提供富有视觉吸引力的效果。这种效果在现代网页设计中非常流行,能够...
【纯CSS3全屏图片幻灯片3D立体旋转切换特效】是一种利用现代浏览器支持的CSS3特性实现的网页动态效果。在不依赖JavaScript或任何外部库的情况下,仅通过CSS3就能创建出具有视觉冲击力的全屏图片展示,同时结合3D立体...
【标题】"3D立体手机触屏图片切换代码"是一个专为移动设备设计的互动图像展示解决方案,利用了JavaScript库jQuery及其相关插件`jquery.gallery.js`来实现独特的3D立体图片切换效果。这种特效在现代触屏手机和平板...
总结来说,"js宽屏图片视差滑块幻灯片切换特效"是一种利用JavaScript和CSS3技术实现的网页动态效果,它可以提升用户体验,增加网站的视觉吸引力。开发人员可以通过学习相关代码和技巧,将其应用于自己的项目中,创造...
【js实现3d动态切换】是一种利用JavaScript技术创建的炫酷视觉效果,它通过3D变换使得页面元素在用户交互时进行动态、立体的切换。这种技术尤其适用于制作吸引人的PPT展示,让内容的过渡更为生动有趣。下面将详细...
在这项特效中,这两个库被用来实现3D旋转和缩放的动画效果,使图片在切换时呈现出立体感和动态视觉冲击力。 **3D旋转和立方体效果** 3D旋转幻灯片是一种创新的图片切换方式,通过模拟3D空间中的立方体旋转,让用户...
本项目“css3和js图片3d倾斜幻灯片效果”正是结合这两者,创造出一种新颖的图片展示方式,它带给用户极具立体感的3D幻灯片浏览体验。这种效果通常用于吸引用户的注意力,提升网站的用户体验。 首先,CSS3是CSS...
"图片立体切换"是一种先进的图片展示技术,它通过JavaScript(js)实现,可以为用户提供更生动、更具视觉吸引力的图像浏览体验。这种效果通常被称为“3D切换”,因为它能够使图片在平面上呈现出立体感,增加动态效果...
本资源"js实现3D图片逐张轮播幻灯片特效源码.zip"提供了一个使用JavaScript实现的3D图片轮播幻灯片特效的源代码示例。这种特效可以为网站增添视觉吸引力,提高用户体验。下面将详细介绍这个特效的关键技术和实现步骤...
在【标题】"jquery带3d图片翻转的幻灯片画廊效果"中,我们可以理解这是一个利用jQuery实现的动态图片展示插件。它引入了3D视觉效果,使得图片在幻灯片切换时以立体翻转的形式呈现,提升了用户体验和互动性。这种效果...
【标题】"js css3图片切换立体旋转代码.zip"揭示了这个压缩包包含了一段使用JavaScript和CSS3技术实现的3D立体旋转图片切换效果的代码。这种效果通常用于创建吸引人的图片展示或图片相册功能,使得用户在浏览图片时...
该网页模板是基于JavaScript(js)和CSS3技术构建的,用于实现一种创新的图片展示方式:图片爆炸效果轮播切换幻灯片特效。这种特效为网页增添动态视觉吸引力,可以提升用户体验,尤其是在产品展示、摄影网站或者创意...
"3d图片旋转切换.zip"是一个包含JS特效的压缩包,专注于实现3D图片旋转切换效果,这在网站设计中常常用于创建吸引人的焦点图或幻灯片展示。下面我们将深入探讨这一技术及其相关知识点。 首先,3D图片旋转切换是一种...