首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
JavaScript伪3D轮播图片幻灯切换代码
编辑
JavaScript伪3D轮播图片幻灯切换代码,IE6下表现不尽完美,其它浏览器倒没什么大碍。对于IE6看到的斑点,我只能表示很无奈。。。本从水平至此,期待交流~
代码正文
双击正文可选择全部
1[代码][]
尝试一下
<html> <head> <title>JavaScript伪3D轮播图片幻灯切换代码</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <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="/" target="_blank"><img src="/jscss/demoimg/wall1.jpg" alt="" /></a></li> <li><a href="/" target="_blank"><img src="/jscss/demoimg/wall2.jpg" alt="" /></a></li> <li><a href="/" target="_blank"><img src="/jscss/demoimg/wall3.jpg" alt="" /></a></li> <li><a href="/" target="_blank"><img src="/jscss/demoimg/wall4.jpg" alt="" /></a></li> <li><a href="/" target="_blank"><img src="/jscss/demoimg/wall5.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>
文明上网理性发言,请遵守新闻评论服务协议
0 条评论
发布评论
全部评论
最新
/
最热
暂无评论
加载更多
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.0020067691802979 秒,PHP脚本用时 0.004067 秒,占用内存 0.521 MB,Gzip 已启用