• 论js结合数学的应用


      js是一门应用极其广泛的语言,它直接决定着一个前端工程师水平以及工资的高低,今天,本人这个前端菜鸟就来总结写js怎样结合数学进行应用。

    一:结合勾股定理进行苹果菜单的开发

    首先来介绍几个常用的公式

    1:平方公式 Math.pow(a,b);代表的是a的b次方;

    2:开方公式 Math.sqrt(a,b)代表的是a开b次方;

    下面就以苹果实例的开发来讲述其应用

    这是html代码

     1 <input typ="text">
     2 <input typ="text">
     3 <input typ="text">
     4 <input typ="text">
     5 <input typ="text">
     6 <div id="div1"> 
     7     <img src="img/1.png" /> 
     8     <img src="img/2.png" /> 
     9     <img src="img/3.png" /> 
    10     <img src="img/4.png" /> 
    11     <img src="img/5.png" /> 
    12 </div>

    这个是简单的css代码

     1 * {
     2     margin: 0px;
     3     padding: 0px;
     4 }
     5 #div1 {
     6     position: absolute;
     7     bottom: 0px;
     8     text-align: center;
     9      100%;
    10 }
    11 img {
    12      64px;
    13 }

    上面你的两种都很简单,下面就介绍本次的最重要的js代码

    <script>
    window.onload=function(){
        var oInput=document.getElementsByTagName("input");
        var oDiv=document.getElementById("div1");
        var oImg=oDiv.getElementsByTagName("img");
        
        document.onmousemove=function(ev){
            var ev=ev||window.event;
            for(var i=0;i<oImg.length;i++){
                var a=oImg[i].offsetLeft+oImg[i].offsetWidth/2;
                var b=oImg[i].offsetTop+oImg[i].offsetHeight/2+oDiv.offsetTop;
                var x=ev.clientX-a;
                var y=ev.clientY-b;
                var c=Math.sqrt(Math.pow(x,2)+Math.pow(y,2))
                var scale=1-c/300;
                if(scale<0.5){
                    scale=0.5
                    }
                oInput[i].value=scale;
                oImg[i].style.width=scale*128+"px";
                oImg[i].style.height=scale*128+"px";
                
                }
            
                
            }
        }
    </script>

    实现完上述的代码之后就会显示出下面的实例效果

    当鼠标距离那个比较近,就会将图片以一定的比例放大,由于这里没办法显示的太明显,只能讲图片将就着这么显示。但是方法是一样的

    二:js与三角函数的结合

    1:正弦函数 Math.sin();

    2: 余弦函数Math.cos();

    html代码,使用该代码就能写出一个物体从围绕着y轴进行圆周运动的实例。

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>无标题文档</title>
     6 <style>
     7 #div1 {
     8      20px;
     9     height: 20px;
    10     background: red;
    11     position: absolute;
    12     top: 300px;
    13     left: 800px;
    14 }
    15 .box{border:1px solid #000;position:absolute;}
    16 </style>
    17 <script>
    18 window.onload=function(){
    19     var oDiv=document.getElementById("div1");
    20     var r=100;
    21     var x=700;
    22     var y=300;
    23     num=0;
    24     setInterval(function(){
    25     num++;
    26     var a=Math.sin(num*Math.PI/180)*r;
    27     var b=Math.cos(num*Math.PI/180)*r;
    28     
    29     oDiv.style.left=b+x+"px";
    30     oDiv.style.width=a/100*30+50+"px";
    31     oDiv.style.height=a/100*30+50+"px"; 
    32     },30)
    33     
    34 }
    35 
    36 </script>
    37 </head>
    38 
    39 <body>
    40 <div id="div1"></div>
    41 </body>
    42 </html>
  • 相关阅读:
    C++类中使用new及delete小例子(续)
    C++类中使用new及delete小例子
    C++类中static修饰的函数的使用
    C++类使用static小例子(新手学习C++)
    C++结构体中使用函数与类中使用函数小结
    记一次简单的性能优化
    [转载]Java的内存回收机制
    写给自己的项目总结
    [转载]正则表达式30分钟入门教程
    使用JRockit进行性能优化一:环境搭建
  • 原文地址:https://www.cnblogs.com/jtxn/p/4966446.html
Copyright © 2020-2023  润新知