JS实现仿苹果底部任务栏菜单效果代码


Posted in Javascript onAugust 28, 2015

本文实例讲述了JS实现仿苹果底部任务栏菜单效果代码。分享给大家供大家参考。具体如下:

这款仿苹果电脑的底部任务栏菜单,是纯JavaScript实现的菜单特效,鼠标放上有响应效果,菜单图标会变大,而且动画效果非常流畅,以前发过这种效果,但是是使用了jQuery实现的,今天这个没有jQuery插件哦。

运行效果截图如下:

JS实现仿苹果底部任务栏菜单效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>仿苹果电脑任务栏菜单</title>
<style type="text/css"> 
body{margin:0;padding:0}
#menu{position:absolute;width:100%;bottom:0;text-align:center;}
</style>
<script type="text/javascript"> 
window.onload = function ()
{
 var oMenu = document.getElementById("menu");
 var aImg = oMenu.getElementsByTagName("img");
 var aWidth = [];
 var i = 0;
 //保存原宽度, 并设置当前宽度
 for (i = 0; i < aImg.length; i++)
 {
  aWidth.push(aImg[i].offsetWidth);
  aImg[i].width = parseInt(aImg[i].offsetWidth / 2);
 }
 //鼠标移动事件
 document.onmousemove = function (event)
 {
  var event = event || window.event;
  for (i = 0; i < aImg.length; i++)
  {
   var a = event.clientX - aImg[i].offsetLeft - aImg[i].offsetWidth / 2;
   var b = event.clientY - aImg[i].offsetTop - oMenu.offsetTop - aImg[i].offsetHeight / 2;
   var iScale = 1 - Math.sqrt(a * a + b * b) / 300;
   if (iScale < 0.5) iScale = 0.5;
   aImg[i].width = aWidth[i] * iScale
  }
 };
};
</script>
</head>
<body>
<div id="menu">
 <img src="images/1.png" />
 <img src="images/2.png" />
 <img src="images/3.png" />
 <img src="images/4.png" />
 <img src="images/5.png" />
 <img src="images/6.png" />
 <img src="images/7.png" />
 <img src="images/8.png" />
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 Javascript
js单例模式详解实例
Nov 21 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
JavaScript实现省市联动过程中bug的解决方法
Dec 04 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
vue工程全局设置ajax的等待动效的方法
Feb 22 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 Javascript
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
jquery实现弹出层登录和全屏层注册特效
Aug 28 #Javascript
jquery实现多条件筛选特效代码分享
Aug 28 #Javascript
jquery实现的用户注册表单提示操作效果代码分享
Aug 28 #Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 #Javascript
谈谈JavaScript中function多重理解
Aug 28 #Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 #Javascript
jQuery表单验证功能实例
Aug 28 #Javascript
You might like
PHP+DBM的同学录程序(5)
2006/10/09 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
Python兔子毒药问题实例分析
2015/03/05 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
消防应急演练方案
2014/02/12 职场文书
年级组长自我鉴定
2014/02/22 职场文书
5s标语大全
2014/06/23 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
Python闭包的定义和使用方法
2022/04/11 Python