js模拟苹果菜单
2024-10-18 18:20:45
模拟苹果菜单的js代码是从网上看到的,用来做导航菜单还是蛮好看的。这里借鉴一下。
效果描述:当鼠标移动离哪个图片最近的时候,这个图片最大,鼠标离的图片越远,则图片越小;
原理:主要用到了三角形的勾股定理,可以根据两点的坐标,求到两点的距离,突然发现数学知识和js效果息息相关啊!
步骤:
1.插入大的图片,防止图片放大后失真,图片初始值为它的一半。
2.获取每个图片的中心点;
3.获取鼠标的位置;
4.使用勾股定理求出鼠标离图片中心的的距离;
代码入下:
document.mousemove=function(e){
var e=window.event||e;
for (var i = 0; i < oImg.length; i++) {
var x = oImg[i].offsetLeft + oImg[0].offsetWidth/2 ;//我这里每个图片都一样宽;
var y = oImg[i].offsetTop + oImg[0].offsetHeight/2 + box.offsetTop; //box是包含图片外面的div,用来定位的;
var a=e.clientX - x;
var b=e.clientY - y;
var c=Math.sqrt(Math.pow(a,2)+Math.pow(b,2)); //数学公式
var d=1-c/300; //c除以300是用来降低基数的,因为c越大,代表鼠标离图片越远,则图片越小,所以用1-则得到相对应的基数;
if(d<0.5){
d=0.5 //图片本身不能小于它的一半
}
oImg[i].style.width=d*128 + 'px';
oImg[i].style.height=d*128 + 'px';
}; }
看着很难的一个效果,用初中学的知识就解决了,真的很意想不到。
最新文章
- 获取设备的mac地址可靠的方法
- 在VS中MFC、ATL与WIN32有什么联系或区别?
- ACM: HDU 2563 统计问题-DFS+打表
- 对于限制UITextView输入的字符数
- xcode6 framework missing submodule xxx 警告
- Google账户无法登陆-Solved
- As.net WebAPI CORS, 开启跨源访问,解决错误No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource
- 19、android面试题整理(自己给自己充充电吧)
- PHP中文汉字验证码
- Hadoop 2.7 伪分布式环境搭建
- Django学习日记07_Admin
- 判断一个字符串是不是一个合法的IP地址
- Executor框架(一)
- netstat 问题处理
- 关于select联动的两种做法
- hdu3625-Rooms
- 请求时控制器的返回结果view()怎么会默认调到某个页面的?
- Reversion windows 2008 R2 STD to Datacenter
- POJ1942
- leetcode650 2 Keys Keyboard
热门文章
- Windows Phone开发工具初体验【转载】
- ";无法启动程序,因为计算机中丢失*.dll” 运行exe错误解决方法
- 【ALearning】第三章 Android基本常见控件
- 初探 MySQL 的 Binlog
- jQuery 学习笔记(未完待续)
- 未打开Ad Hoc Distributed Queries
- 萌货猫头鹰登录界面动画iOS实现分析
- TableView不显示没内容的Cell怎么办?
- Linux系统故障处理案例(一)
- Centos 6.4 python 2.6 升级到 3.5.2