• 论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>
  • 相关阅读:
    winform+c#之窗体之间的传值 Virus
    ASP.NET 2.0 利用 checkbox获得选中行的行号, 在footer中显示 Virus
    .NET中的winform的listview控件 Virus
    我的书橱
    Expert .NET 2.0 IL Assembler·译者序一 写在一稿完成之即
    Verbal Description of Custom Attribute Value
    AddressOfCallBacks in TLS
    下一阶段Schedule
    2008 Oct MVP OpenDay 第二天 博客园聚会
    2008 Oct MVP OpenDay 第二天 颁奖·讲座·晚会
  • 原文地址:https://www.cnblogs.com/jtxn/p/4966446.html
Copyright © 2020-2023  润新知