JavaScript数学揭密之函数与勾股定理

函数

function show(n){
    return n*2;
}
alert( show(2) );  //4
alert( show(3) );  //6
alert( show(4) );  //8

 

 

 

勾股定理

可以实现两点坐标求距离的应用

JS中的平方和开方

  Math.pow(2,3)   //2的立方

    Math.pow(3,2)   //3的平方

    Math.sqrt( 9 )   //3

    alert( Math.sqrt( Math.pow(3,2) + Math.pow(4,2) ) ); //这就是勾股定理

 

 

 

使用勾股定理计算两点之间的距离,从而实现类似苹果菜单的案例

原理是检测鼠标的位置,然后计算鼠标跟图片的距离,距离最近的图片最大,距离最远的图片最小

<style>
*{ margin:0; padding:0;}
#div1{ width:100%; position:absolute; bottom:0; text-align:center;}
img{ width:64px;}
</style>
<script>
    window.onload = function(){
        var aInput = document.getElementsByTagName('input');
        var oDiv = document.getElementById('div1');
        var aImg = oDiv.getElementsByTagName('img');
        
        
        document.onmousemove = function(ev){
            var ev = ev || window.event;
            
            for(var i=0;i<aImg.length;i++){
            
                 //图片距离页面左边边界的距离+每张图片的宽度的一半      这里不用加上div距离页面左边边界的距离,因为宽度是百分百的,距离就为零
                var x = aImg[i].offsetLeft + aImg[i].offsetWidth/2;
                 //图片距离页面上边边界的距离+每张图片的宽度的一半+加上div距离页面上边边界的距离
                var y = aImg[i].offsetTop + aImg[i].offsetHeight/2 + oDiv.offsetTop;
                
                var b = ev.clientX - x;//鼠标坐标的位置减去图片中心点坐标的位置       水平边的
                var a = ev.clientY - y;//鼠标坐标的位置减去图片中心点坐标的位置       垂直边的
                
                var c = Math.sqrt(Math.pow(b,2) + Math.pow(a,2));//知道两条直角边   获取第三条边的长度,也就是勾股定理
                
                 //使鼠标距离图片越近这个值就越大
                var scale = 1 - c/300;  
                
                if(scale<0.5){
                    scale = 0.5;
                }
                
                aInput[i].value = scale;
                
                aImg[i].style.width = scale * 128 + 'px';
                aImg[i].style.height = scale * 128 + 'px';
            }
        };
    };
</script>
</head>
<body>
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
    <div id="div1">
        <img src="img/1.png">
        <img src="img/2.png">
        <img src="img/3.png">
        <img src="img/4.png">
        <img src="img/5.png">
    </div>
</body>

 

转载于:https://www.cnblogs.com/LO-ME/p/4608503.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值