HTML+CSS+JS实现 ❤️canvas 3D立体图片相册幻灯片❤️

🍅 作者主页:Java李杨勇 

🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌  简历模板、学习资料、面试题库、技术互助【关注我,都给你】

🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

效果演示: 文末获取源码 

图片可以根据鼠标进行移动查看3D效果、因上传GIF有大小限制、所以看不全

代码目录:

主要代码实现:

CSS样式:

 html {overflow: hidden;-ms-touch-action: none;-ms-content-zooming: none;}body {position: absolute;margin: 0px;padding: 0px;background: #fff;width: 100%;height: 100%;}#canvas {position: absolute;width: 100%;height: 100%;background: #fff;}

部分JavaScript代码 :

(function() {/* ==== definitions ==== */var diapo = [],layers = [],ctx, pointer, scr, camera, light, fps = 0,quality = [1, 2],// ---- poly constructor ----Poly = function(parent, face) {this.parent = parent;this.ctx = ctx;this.color = face.fill || false;this.points = [];if (!face.img) {// ---- create points ----for (var i = 0; i < 4; i++) {this.points[i] = new ge1doot.transform3D.Point(parent.pc.x + (face.x[i] * parent.normalZ) + (face.z[i] * parent.normalX),parent.pc.y + face.y[i],parent.pc.z + (face.x[i] * parent.normalX) + (-face.z[i] * parent.normalZ));}this.points[3].next = false;}},// ---- diapo constructor ----Diapo = function(path, img, structure) {// ---- create image ----this.img = new ge1doot.transform3D.Image(this, path + img.img, 1, {isLoaded: function(img) {img.parent.isLoaded = true;img.parent.loaded(img);}});this.visible = false;this.normalX = img.nx;this.normalZ = img.nz;// ---- point center ----this.pc = new ge1doot.transform3D.Point(img.x, img.y, img.z);// ---- target positions ----this.tx = img.x + (img.nx * Math.sqrt(camera.focalLength) * 20);this.tz = img.z - (img.nz * Math.sqrt(camera.focalLength) * 20);// ---- create polygons ----this.poly = [];for (var i = -1, p; p = structure[++i];) {layers[i] = (p.img === true ? 1 : 2);this.poly.push(new Poly(this, p));}},// ---- init section ----init = function(json) {// draw poly primitivePoly.prototype.drawPoly = ge1doot.transform3D.drawPoly;// ---- init screen ----scr = new ge1doot.Screen({container: "canvas"});ctx = scr.ctx;scr.resize();// ---- init pointer ----pointer = new ge1doot.Pointer({tap: function() {if (camera.over) {if (camera.over === camera.target.elem) {// ---- return to the center ----camera.target.x = 0;camera.target.z = 0;camera.target.elem = false;} else {// ---- goto diapo ----camera.target.elem = camera.over;camera.target.x = camera.over.tx;camera.target.z = camera.over.tz;// ---- adapt tesselation level to distance ----for (var i = 0, d; d = diapo[i++];) {var dx = camera.target.x - d.pc.x;var dz = camera.target.z - d.pc.z;var dist = Math.sqrt(dx * dx + dz * dz);var lev = (dist > 1500) ? quality[0] : quality[1];d.img.setLevel(lev);}}}}});

上面的图片和js文件需要引入 

源码获取

大家可以点赞、收藏、关注、评论我啦 、查看博主主页或下方微信公众号获取~!

打卡 文章 更新 44  /  100天

精彩推荐更新中:

HTML5大作业实战案例《100套》

Java毕设项目精品实战案例《100套》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS+JS实现 ❤️3D立体魔方小游戏❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

css 解析器 java_Java 的 CSS 解析器 jStyleParser

软件介绍jStyleParser 是一个开源 Java 的 CSS 解析器&#xff0c;可以在 Java 程序中解析 CSS 样式文件。Mavennet.sf.cssboxjstyleparser3.2示例代码&#xff1a;//get the element styleStyleMap map CSSFactory.assignDOM(doc, encoding, base, medium, true);NodeData st…

HTML+CSS+JS实现 ❤️slicebox酷炫3d图片轮播切换❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

HTML+CSS+JS实现 ❤️动态散花背景❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java getdelay_java中DelayQueue的一个使用陷阱分析

最近工作中有接触到DelayQueue&#xff0c;网上搜索资料的时候发现一篇文章谈到DelayQueue的坑。点击打开链接文中已经总结了遇到坑的地方&#xff0c;还有解决方案。不过我第一眼看一下没弄明白为什么&#xff0c;所以翻了翻源码深究了一下&#xff0c;下面把这个坑的原因以及…

HTML+CSS+JS实现美女照片3D立方体旋转特效

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李阳勇 公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

JAVA回调函数的例子_javascript : 回调函数例子

数字时钟 digital_clock.htmlDigital Clock// Define a function to display the current timefunction displayTime() {var elt document.getElementById("clock"); // Find element with id"clock"var now new Date(); // Get current timeelt.innerHT…

HTML+CSS+JS实现 ❤️canvas酷炫表白爱心动画❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

HTML+CSS+JS实现 ❤️酷炫HUD科幻数据屏幕动画界面❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java 条件 等待_java – 如何唤醒等待相同条件的所有线程?

我有以下情况.几个线程正在等待相同的条件.当得到通知时,所有应该停止等待,更改标志并返回对象&#xff1a;public Object getObject(){lock.lock();try {while (check)){condition.await();}return returnObjectAndSetCheckToFalse();} finally {lock.unlock();}}但是这段代码…

基于Springboot+Mybatis实现个人理财系统

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java 递归遍历对象所有属性_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...

xml中加入了几条&#xff0c;为了方便查询时作为示例。话不多说见代码注释&#xff1a;DTD文件&#xff1a;SwordTypeDefinition.dtdXML文件&#xff1a;SwordLib.xmlSwordLibrary SYSTEM "SwordTypeDefinition.dtd">欢欣之刃100010夜叉205030魔棒2000java代码&am…

HTML+CSS+JS实现 ❤️酷炫3D瀑布流动画特效❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java 取dataset_Java LineDataSet.getYVals方法代码示例

import com.github.mikephil.charting.data.LineDataSet; //导入方法依赖的package包/类protected void drawCircles(Canvas c) {mRenderPaint.setStyle(Paint.Style.FILL);float phaseX mAnimator.getPhaseX();float phaseY mAnimator.getPhaseY();List dataSets mChart.ge…

HTML+CSS+JS实现 ❤️canvas圆形水波进度条动画特效❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

HTML+CSS+JS实现 ❤️圆圈波纹动画特效❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java 二叉树迭代器_C,为二叉树实现自定义迭代器(长)

请你好 - 这是我的第一个问题 . P基本上作为夏季项目&#xff0c;我一直在浏览wikipedia page上的数据结构列表并尝试实现它们 . 我上学期参加了一门C课程并发现它非常有趣&#xff0c;作为我实施二项式堆的最后一个项目 - 这也非常有趣 . 也许我很讨厌&#xff0c;但我喜欢数…

java防止编码重复_java – 如何避免许多小类的代码重复?

我有不同的课程,分别是英语,西班牙语,法语等&#xff1a;Class English{String name "English";String alias "ENG";}Class French{String name "French";String alias "Fre";}与其他语言类似.还有一个叫做语言的课&#xff1a;Cl…

HTML+CSS+JS实现 ❤️6种transform图片悬停动态效果❤️

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

ldap协议 java_java如何调用ldap协议【LdapContext】

背景&#xff1a;做了个系统需要用集团的用户id登录。而集团用户系统是用ldap做的。关键知识点1. 设置连接ctx new InitialLdapContext(env, connCtls);2.设置url和查询的子路径env.put(Context.PROVIDER_URL, URL);// LDAP serverenv.put(Context.SECURITY_PRINCIPAL, SEARCH…