最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
HTML+CSS+JavaScript实现图片3D展览代码示例
时间:2022-06-25 17:53:47 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下HTML+CSS+JavaScript实现图片3D展览代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
图片3D展览效果
代码实现
1、HTML代码
css" rel="stylesheet">图片3D展览屋
2、CSS代码
#icon { background: rgb(255, 144, 0); border-radius: 6px 0px 0px; transition:0.6s ease-in-out; left: 65px; top: 6px; overflow: hidden; position: relative; cursor: pointer; -moz-transition: all 0.6s ease-in-out 0s; -webkit-transition: all 0.6s ease-in-out 0s; -o-transition: all 0.6s ease-in-out 0s; } #icon div { background: none; position: absolute; } #icon div:nth-child(1) { border-0px 7px 8px; border-style: solid; border-color: transparent rgb(255, 255, 255); left: 20px; top: 50%; margin-top: -7px; position: absolute; } #icon div:nth-child(2) { background: rgb(255, 255, 255); left: 12px; top: 50%; margin-top: -3px; position: absolute; } #nav { top: 10px; position: absolute; -ms-user-select: none; -webkit-user-select: none; -moz-user-select: none; } #nav-switch { display: none; } #nav .label { display: block; cursor: pointer; } #nav .container { transition:left 0.3s ease-in-out; left: -100px; width: 100%; position: absolute; -moz-transition: left 0.3s ease-in-out 0s; -webkit-transition: left 0.3s ease-in-out 0s; -o-transition: left 0.3s ease-in-out 0s; } #nav .container > div { padding: 0px; width: 50%; float: left; } #nav .container .nav-on { color: rgb(51, 51, 51); padding-left: 0px; } #nav .container .nav-off { padding-right: 10px; } :checked#nav-switch + .label .container { left: 10px; } :checked#nav-switch + .label #icon { background: rgb(0, 101, 203); border-radius: 0px 0px 6px; transform: rotate(-180deg); -webkit-transform: rotate(-180deg); -moz-transform: rotate(-180deg); -o-transform: rotate(-180deg); } .title { margin: 0px; padding: 0px; left: 170px; top: 2px; color: rgb(51, 51, 51); line- font-family: "Segoe UI Light", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; font-size: 24px; font-weight: bold; white-space: nowrap; position: absolute; -ms-user-select: none; -webkit-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; } .menu { margin: 0px; padding: 0px; left: 0px; top: 6px; color: rgb(51, 51, 51); font-family: "Segoe UI Light", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; font-size: 1em; font-weight: lighter; list-style-type: none; position: relative; cursor: pointer; } .menu li { list-style: none; border-right-color: rgb(221, 221, 221); border-right- border-right-style: solid; position: relative; cursor: pointer; } .menu a { color: rgb(51, 51, 51); line- padding-left: 40px; text-decoration: none; display: block; position: relative; } .menu li a:hover { background: rgb(255, 144, 0); } .menu li a:focus { background: rgb(255, 144, 0); } .menu li a:active { background: rgb(255, 144, 0); } #nav li::before { top: 50%; margin-left: 10px; position: absolute; content: ""; } #nav li::after { top: 50%; margin-left: 10px; position: absolute; content: ""; } #nav li a::before { top: 50%; margin-left: 10px; position: absolute; content: ""; } #nav li a::after { top: 50%; margin-left: 10px; position: absolute; content: ""; } #nav .home a::before { border-7px; border-style: solid; border-color: transparent transparent rgb(51, 51, 51); left: 2px; margin-top: -16px; } #nav .home a::after { border-4px 0px; border-style: solid; border-color: rgb(51, 51, 51) rgb(51, 51, 51) transparent; left: 4px; margin-top: 0px; } #nav .arrow a::before { border-0px 7px 8px; border-style: solid; border-color: transparent rgb(51, 51, 51); left: 8px; margin-top: -7px; } #nav .arrow a::after { background: rgb(51, 51, 51); left: 0px; margin-top: -3px; } #nav .back.arrow a::before { border-8px 7px 0px; left: 0px; } #nav .back.arrow a::after { left: 8px; } #nav .list a::before { background: none; border-0px; border-style: double; border-color: rgb(51, 51, 51); left: 5px; top: 14px; } #nav .list a::after { background: none; border-0px; border-style: double; border-color: rgb(51, 51, 51); left: 1px; top: 14px; }
3、JavaScript代码
// ===== ge1doot global ===== js文件1 var ge1doot = ge1doot || { json: null, screen: null, pointer: null, camera: null, loadJS: function (url, callback, data) { if (typeof url == "string") url = [url]; var load = function (src) { var script = document.createElement("script"); if (callback) { if (script.readyState){ script.onreadystatechange = function () { if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; if (--n === 0) callback(data || false); } } } else { script.onload = function() { if (--n === 0) callback(data || false); } } } script.src = src; document.getElementsByTagName("head")[0].appendChild(script); } for (var i = 0, n = url.length; i 11 || Math.abs(this.Y - sY) > 11) { this.hasMoved = true; if (this.isDown) { if (!this.isDraging) { this.startX = sX; this.startY = sY; this.setup.startDrag && this.setup.startDrag(e); this.isDraging = true; } else { this.setup.drag && this.setup.drag(e); } } else { sX = this.X; sY = this.Y; } } this.setup.move && this.setup.move(e); } this.pointerUp = function(e) { this.bXi = this.Xi; this.bYi = this.Yi; if (!this.hasMoved) { this.X = sX; this.Y = sY; this.setup.tap && this.setup.tap(this.evt); } else { this.setup.up && this.setup.up(this.evt); } this.isDraging = false; this.isDown = false; this.hasMoved = false; this.setup.up && this.setup.up(this.evt); if (this.elem.releaseCapture) this.elem.releaseCapture(); this.evt = false; } this.pointerCancel = function(e) { if (this.elem.releaseCapture) this.elem.releaseCapture(); this.isDraging = false; this.hasMoved = false; this.isDown = false; this.bXi = this.Xi; this.bYi = this.Yi; sX = 0; sY = 0; } if ('ontouchstart' in window) { this.elem.ontouchstart = function (e) { self.pointerDown(e); return false; } this.elem.ontouchmove = function (e) { self.pointerMove(e); return false; } this.elem.ontouchend = function (e) { self.pointerUp(e); return false; } this.elem.ontouchcancel = function (e) { self.pointerCancel(e); return false;} } document.addEventListener("mousedown", function (e) { if ( e.target === self.elem || (e.target.parentNode && e.target.parentNode === self.elem) || (e.target.parentNode.parentNode && e.target.parentNode.parentNode === self.elem) ) { if (typeof e.stopPropagation != "undefined") { e.stopPropagation(); } else { e.cancelBubble = true; } e.preventDefault(); self.pointerDown(e); } }, false); document.addEventListener("mousemove", function (e) { self.pointerMove(e); }, false); document.addEventListener("mouseup", function (e) { self.pointerUp(e); }, false); document.addEventListener('gesturechange', function(e) { e.preventDefault(); if (e.scale > 1) self.scale = 0.1; else if (e.scale 1) { if (e.preventDefault) e.preventDefault(); self.scale = e.velocityExpansion; self.setup.scale && self.setup.scale(e); } return false; }, false); } if (window.addEventListener) this.elem.addEventListener('DOMMouseScroll', function(e) { if (e.preventDefault) e.preventDefault(); self.wheelDelta = e.detail * 10; self.setup.wheel && self.setup.wheel(e); return false; }, false); this.elem.onmousewheel = function () { self.wheelDelta = -event.wheelDelta * .25; self.setup.wheel && self.setup.wheel(event); return false; } } // ===== request animation frame ===== window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( run ){ window.setTimeout(run, 16); }; })();
// ===== ge1doot global ===== js文件1 var ge1doot = ge1doot || { json: null, screen: null, pointer: null, camera: null, loadJS: function (url, callback, data) { if (typeof url == "string") url = [url]; var load = function (src) { var script = document.createElement("script"); if (callback) { if (script.readyState){ script.onreadystatechange = function () { if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; if (--n === 0) callback(data || false); } } } else { script.onload = function() { if (--n === 0) callback(data || false); } } } script.src = src; document.getElementsByTagName("head")[0].appendChild(script); } for (var i = 0, n = url.length; i 11 || Math.abs(this.Y - sY) > 11) { this.hasMoved = true; if (this.isDown) { if (!this.isDraging) { this.startX = sX; this.startY = sY; this.setup.startDrag && this.setup.startDrag(e); this.isDraging = true; } else { this.setup.drag && this.setup.drag(e); } } else { sX = this.X; sY = this.Y; } } this.setup.move && this.setup.move(e); } this.pointerUp = function(e) { this.bXi = this.Xi; this.bYi = this.Yi; if (!this.hasMoved) { this.X = sX; this.Y = sY; this.setup.tap && this.setup.tap(this.evt); } else { this.setup.up && this.setup.up(this.evt); } this.isDraging = false; this.isDown = false; this.hasMoved = false; this.setup.up && this.setup.up(this.evt); if (this.elem.releaseCapture) this.elem.releaseCapture(); this.evt = false; } this.pointerCancel = function(e) { if (this.elem.releaseCapture) this.elem.releaseCapture(); this.isDraging = false; this.hasMoved = false; this.isDown = false; this.bXi = this.Xi; this.bYi = this.Yi; sX = 0; sY = 0; } if ('ontouchstart' in window) { this.elem.ontouchstart = function (e) { self.pointerDown(e); return false; } this.elem.ontouchmove = function (e) { self.pointerMove(e); return false; } this.elem.ontouchend = function (e) { self.pointerUp(e); return false; } this.elem.ontouchcancel = function (e) { self.pointerCancel(e); return false;} } document.addEventListener("mousedown", function (e) { if ( e.target === self.elem || (e.target.parentNode && e.target.parentNode === self.elem) || (e.target.parentNode.parentNode && e.target.parentNode.parentNode === self.elem) ) { if (typeof e.stopPropagation != "undefined") { e.stopPropagation(); } else { e.cancelBubble = true; } e.preventDefault(); self.pointerDown(e); } }, false); document.addEventListener("mousemove", function (e) { self.pointerMove(e); }, false); document.addEventListener("mouseup", function (e) { self.pointerUp(e); }, false); document.addEventListener('gesturechange', function(e) { e.preventDefault(); if (e.scale > 1) self.scale = 0.1; else if (e.scale 1) { if (e.preventDefault) e.preventDefault(); self.scale = e.velocityExpansion; self.setup.scale && self.setup.scale(e); } return false; }, false); } if (window.addEventListener) this.elem.addEventListener('DOMMouseScroll', function(e) { if (e.preventDefault) e.preventDefault(); self.wheelDelta = e.detail * 10; self.setup.wheel && self.setup.wheel(e); return false; }, false); this.elem.onmousewheel = function () { self.wheelDelta = -event.wheelDelta * .25; self.setup.wheel && self.setup.wheel(event); return false; } } // ===== request animation frame ===== window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( run ){ window.setTimeout(run, 16); }; })();
相关文章
- 七卡之境北欧阿兹特克自伤流如何搭配 09-18
- 对决剑之川楚家庄手记在哪里 09-18
- 异人之下张灵玉技能怎么使用 09-18
- 三国望神州吕布关卡如何打 09-18
- 对决剑之川西河伽罗技能流派有哪些选择 09-18
- 嘟嘟脸恶作剧巴丽叶有什么技能 09-18