JS原生苹果菜单效果

知识点:

勾股定理 a²+b²=c²

Event 是一个事件对象,当一个事件发生后,和当前事件发生相关的详细信息会被临时存储到一个指定的地方,也就是event对象,以方便我们在需要的时候调用

难点:

计算

#box {
width: 100%;
position: absolute;
text-align: center;
bottom: 0;
} #box img {
width: 60px;
}

html结构:

<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text"> <div id="box">
<img src="./images/1.png" alt="">
<img src="./images/2.png" alt="">
<img src="./images/3.png" alt="">
<img src="./images/4.png" alt="">
<img src="./images/5.png" alt="">
</div>
window.onload = function() {
var input = document.getElementsByTagName('input');
var oBox = document.getElementById('box');
var oImg = oBox.children;
// console.log(oImg);
document.onmousemove = function(even) {
var even = even || window.event;
var x;
var y;
for (var i = 0; i < oImg.length; i++) {
//获取图片的中心点
x = oImg[i].offsetLeft + oImg[i].offsetWidth / 2;
y = oImg[i].offsetTop + oBox.offsetTop + oImg[i].offsetHeight / 2; //鼠标在浏览器坐标的x轴距图片x中心点距离
var a = even.clientX - x;
//鼠标在浏览器坐标的y轴距图片y中心点距离
var b = even.clientY - y; //勾股定理a²+b²=c²
var c = Math.sqrt(Math.pow(b, 2) + Math.pow(a, 2)) //scale 表示放大比例
var scale = 1 - c / 300; if (scale < 0.5) {
scale = 0.5;
} //每张图片的c赋值到input中,方便查看数据变化
input[i].value = scale; oImg[i].style.width = scale * 100 + "px";
oImg[i].style.height = scale * 100 + "px";
}
};
};

最新文章

  1. IT菜鸟的生存指南(二)新手村任务
  2. POJ1274 The Perfect Stall[二分图最大匹配]
  3. nested exception is org.hibernate.QueryException: could not resolve property
  4. vim支持lua
  5. CUBRID学习笔记 19 sql语句1
  6. 题目1003:A+B ---c_str(),atoi()函数的使用;remove , erase函数的使用
  7. MFC中OnDraw()和OnPaint()的区别[转]
  8. Apache配置虚拟目录,以及各种操作
  9. 不用css样式表和背景图片实现圆角矩形,超简洁!
  10. XCode: Target Settings和Project Settings的区别
  11. 【YouVersion】 The Bible 圣经App
  12. MongoDB(三)——CRUD
  13. matlab中hold指令、figure指令及subplot指令的使用
  14. 部署lamp
  15. 如何成为一名JAVAEE软件工程师?(前言)
  16. JavaScript学习笔记(八)——变量的作用域与解构赋值
  17. 金蝶K3 WISE 快速登录
  18. jmeter BeanShell实例-----两个变量之间的断言对比
  19. react+antd分页 实现分页及页面刷新时回到刷新前的page
  20. New Year and Old Subsequence CodeForces - 750E (dp矩阵优化)

热门文章

  1. 用js制作一个计算器
  2. Caffe2:ubuntuKylin17.04使用Caffe2.LSTM
  3. std::string格式化输入输出
  4. Kind (type theory)-higher-kinded types--type constructor
  5. Day 22 面向对象编程
  6. eas之控制kdtable滚动条
  7. String使用方式详细总结
  8. 7.IDEA创建Web项目和Tomcat配置
  9. 1 java开发工具IDEA的使用
  10. netty 拆包和粘包 (三)