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 相关文章推荐
JavaScript实现动态增加文件域表单
Feb 12 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
将字符串中由空格隔开的每个单词首字母大写
Apr 06 Javascript
js事件监听机制(事件捕获)总结
Aug 08 Javascript
js怎么判断flash swf文件是否加载完毕
Aug 14 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
Jan 10 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
VSCode中如何利用d.ts文件进行js智能提示
Apr 13 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 Javascript
从零搭一个自用的前端脚手架的方法步骤
Sep 23 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 Javascript
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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
浅谈PHP的反射API
2017/02/26 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python的变量与赋值详细分析
2017/11/08 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
机械工程系毕业生求职信
2013/09/27 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
教师自我鉴定范文
2014/03/20 职场文书
科学发展观活动总结
2014/08/28 职场文书
雷锋的观后感
2015/06/10 职场文书
公司借款担保书
2015/09/22 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js