博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
鱼眼菜单Demo
阅读量:5122 次
发布时间:2019-06-13

本文共 1631 字,大约阅读时间需要 5 分钟。

模仿做了个菜单截图:

 

 html:

 

ExpandedBlockStart.gif
View Code
 1 
<!
DOCTYPE html
>
 2 
 3 
<
html
>
 4 
<
head
>
 5     
<
title
></
title
>
 6     
<
style 
type
="text/css"
>
 7 
        #container
{
 position
:
fixed
;
 bottom
:
0
;
 width
:
100%
;
 text-align
:
center
;
}
 8 
        #container img
{
 width
:
100px
;
 height
:
100px
;
 cursor
:
pointer
;
}
 9 
    
</
style
>
10 
</
head
>
11 
<
body
>
12     
<
div 
id
="container"
>
13         
<
img 
src
="31.png"
 alt
="图标"
/>
14         
<
img 
src
="33.png"
 alt
="图标"
/>
15         
<
img 
src
="35.png"
 alt
="图标"
/>
16         
<
img 
src
="37.png"
 alt
="图标"
/>
17     
</
div
>
18     
<
script 
src
="util.js"
 type
="text/javascript"
></
script
>
19     
<
script 
type
="text/javascript"
>
20 
        
var
 obj 
=
 
new
 util();
21 
    
</
script
>
22 
</
body
>
23 
</
html
>

 js:

ExpandedBlockStart.gif
View Code
 1 
function util() {
 2     
this.distance = 350; 
//
鼠标到圆心距离
 3 
    
this.imgMaxWidth = 200;
 4     
this.imgMaxHeight = 200;
 5     
this.init();
 6 }
 7 util.prototype = {
 8     init: 
function () {
 9         
var boxObj = document.getElementById('container');
10         
var imgList = boxObj.getElementsByTagName('img');
11         
var _this = 
this;
12         
13         document.onmousemove = 
function (ev) {
14             
var ev = ev || window.event;
15             
for (
var i = 0; i < imgList.length; i++) {
16                 
var a = ev.clientX - (imgList[i].offsetLeft + imgList[i].offsetWidth / 2);
17                 
var b = ev.clientY - (imgList[i].offsetTop + imgList[i].offsetHeight / 2 + boxObj.offsetTop);
18                 
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
19                 
var spex = 1 - c / _this.distance;
20                 
if (spex < 0.5) {
21                     spex = 0.5;
22                 }
23                 imgList[i].style.width = spex * (_this.imgMaxWidth) + 'px';
24                 imgList[i].style.height = spex * (_this.imgMaxHeight) + 'px';
25             }
26         }
27     }
28 }

 

 

 

转载于:https://www.cnblogs.com/MasterHeng/archive/2011/12/01/2270637.html

你可能感兴趣的文章
[ 原创 ]Centos 7.0下安装 Tomcat8.5.15
查看>>
最大密度子图建图 POJ 3155
查看>>
LPSTR LPTSTR
查看>>
排序算法-快速排序
查看>>
【Java】基础篇-排序二叉树
查看>>
oracle 创建表,增加修改删除字段
查看>>
css:设置div边框透明+渐变
查看>>
南阳779
查看>>
谈谈我对攻读计算机研究生的看法-转贴
查看>>
DOM
查看>>
成绩评分器制作(练习)
查看>>
【求和】题解
查看>>
跟我一起学习ASP.NET 4.5 MVC4.0(二)
查看>>
DMN 决策模型和标记 Decision Model And Notation
查看>>
时间戳转换
查看>>
[51Nod 1301] 集合异或和 (dp)
查看>>
洛谷 P1137 旅行计划
查看>>
ajax 提交file文件到后台的两种方法 ajaxSubmit&FormData
查看>>
Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
查看>>
性能优化个人认识小结
查看>>