以下是效果示例:
我查看了源代码,显然有一些计算旋转的算法。是否有任何资源可以实现这种效果,或者有人可以用外行术语分解并解释该算法吗?
我尝试在 jsfiddle.net 上玩 jsfiddle但还没有接近它。
最佳答案
Smashing Magazine 做了 complete breakdown在那个确切的网站上。
编辑,回复评论:adj
不是“边”,而是“长度”。为了让立体书能够自行折叠而不是乱七八糟地皱起来,内容的背景必须与它们所在的页面成一定的 Angular 。完全水平,书就不起作用,完全垂直,从书的正面看不到任何东西。我们的作者选择了与水平方向成 15°,但这个选择是任意的。
一旦他选择了 15°,他就需要知道书的宽度。这就是他所说的adj
。它是使用固定的“场景宽度”和任意 Angular 创建的书的尺寸。他使用毕西哥拉斯定理来得到它(因为数学不是他的强项),但如果你愿意,你可以用以下内容替换该行:
var adj = POPUP_WIDTH * Math.cos(degToRad(15));
关于javascript - 实现弹出书效果的算法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10265634/