zoukankan      html  css  js  c++  java
  • 苹果导航菜单效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
        body{margin: 0;}
        #div1{ 100%; position: absolute; bottom: 0; text-align: center;}
        </style>
        <script type="text/javascript">
            document.onmousemove=function (ev){  //doument下的鼠标移动事件
                var oEvent=ev||event;  //获取事件对象,并做兼容处理
                var oDiv=document.getElementById('div1');
                var aImg=document.getElementsByTagName('img');  //获取所以图片集合
                var aTxt=document.getElementsByTagName('input'); //获取所有文本框集合
                var i=0;

                for(i=0; i<aImg.length; i++){
                    var x=aImg[i].offsetLeft+oDiv.offsetLeft+aImg[i].offsetWidth/2; //加上这个图片的一半宽度定位在中心点上
                    var y=aImg[i].offsetTop+oDiv.offsetTop+aImg[i].offsetHeight/2;  //加上这个图片的一半高度定位在中心点上
                    //因为offsetLeft和offsetTop是取得距离父级的距离所以要加上oDiv距离页面的距离
                    
                    var a=x-oEvent.clientX;   //这个图片距离左侧的中心点坐标减去鼠标距离页面左侧的坐标
                    var b=y-oEvent.clientY;   //这个图片距离顶部的中心点坐标减去鼠标距离页面顶部的坐标

                    var dis=Math.sqrt(a*a+b*b);  //求得鼠标点距离图片中心点的距离 因为是一个直角三角形 求直角边也就是

                    var scale=1-dis/300;  //求得需要缩放的比例 300是自定义的 可以根据不同的值得到的效果不一样
                                          //dis/300会得到一个两头大中间小的倍数 所有两边的图片就回放大
                                          //因为想要的效果是中间大两头小 所以要用1减去原先的倍数 得到想要的比例
                                          //求比例就需要用到除法
                    if(scale<0.5){
                        scale=0.5;
                    }
                    //假如倍数过小的话 就是是图标消失 所以控制在0.5倍上

                    aImg[i].width=scale*200;
                    //让图片的宽度等于 倍数乘以最大宽度就会得到想要的宽度
                    aTxt[i].value=scale.toFixed(2);
                }
            }
        </script>
    </head>
    <body>
        <input type="text"></input>
        <input type="text"></input>
        <input type="text"></input>
        <input type="text"></input>
        <input type="text"></input>
        <div id="div1">
            <img src="images/image01.jpg" width="100" />
            <img src="images/image02.jpg" width="100" />
            <img src="images/image03.jpg" width="100" />
            <img src="images/image04.jpg" width="100" />
            <img src="images/image05.jpg" width="100" />
        </div>
    </body>
    </html>

  • 相关阅读:
    Sum Root to Leaf Numbers深度优先计算路径和
    Path Sum II深度优先找路径
    动态和静态链接库
    C/C++变量
    搜索
    基本格式
    随机数生成函数
    珍惜生命,我用Python 。今天开始学习Python
    在windows里hexo 博客创建步骤
    作为一个程序员,什么是脚本。必须要理解
  • 原文地址:https://www.cnblogs.com/qibingshen/p/5409405.html
Copyright © 2011-2022 走看看