码迷,mamicode.com
首页 > Web开发 > 详细

js实现卫星效果图

时间:2014-08-22 19:22:09      阅读:378      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   java   os   io   for   

以前看过一个哥们的博客,用js实现立方体旋转(jscube.js),稍微加以修改了下,实现卫星旋转效果:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0059)http://www.codesky.net/article/200508/javascript/825ye1.htm -->
<html>
<head>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.17051">
<title>Satellite Rendering</title>
<style>
div{
    width:200px;
    height:200px;
}
</style>
<script src="http://files.cnblogs.com/pinsige/jscube.js"></script>
</head>
<body onload="Setting()">
<div id="a"><img src="a0.jpg" width="200" height="200"></div>
<div id="b"><img src="a1.jpg" width="200" height="200"></div>
<div id="c"><img src="a2.jpg" width="200" height="200"></div>
<div id="d"><img src="a3.jpg" width="200" height="200"></div>
<div id="e"><img src="a4.jpg" width="200" height="200"></div>
<div id="g"><img src="a5.jpg" width="200" height="200"></div>
<SPAN style="POSITION: relative; FONT: bold 24pt arial; VISIBILITY: hidden" id="Set">
<P> </P>
<P><FONT color="#ffff00">Welcome to I - TIME !</FONT><br />
</P>
</SPAN>

<script>
    var IsIE4 = (navigator.appVersion.charAt(0) >= 4 && navigator.appName == "Microsoft Internet Explorer");   
    var IsNN4 = (navigator.appVersion.charAt(0) >= 4 && navigator.appName == "Netscape");            
   
    var CenterX,CenterY,Pi,Inc;   
    var Circle     = new Array();   
    var Pos        = new Array();   
    
    //IE  
    //BodyWidth   = document.body.offsetWidth;   
    //BodyHeight  = document.body.offsetHeight;
    
    //firefox
    BodyWidth = document.body.clientWidth;
    BodyHeight = document.body.clientHeight;
        
    CenterX = BodyWidth  / 2 - 5;   
    CenterY = BodyHeight / 2 - 5;  
   
    function SetCenter()   
    {   
      this.left = (innerWidth  - this.clip.width)  / 2;   
      this.top  = (innerHeight - this.clip.height) / 2;   
    }   
   
    function Setting()   
    {   
      var doc = (IsNN4)? "document." : "document.all.";   
      var obj = (IsNN4)? "" : ".style";   
    

      for(i=0;i<=5;i++)  //Circle[i] = eval(doc+"Circle"+i+obj);   
      {
       Circle[i]=new Cube();
       Circle[i].setLight(true);
       Circle[i].setRadius(30);
    Circle[i].rotate(45,0,45);
                                
    for(var j=0;j<6;j++){
        var sdd = document.createElement(img);
        sdd.src = "img/a"+i+".jpg";
        sdd.width=60;
        sdd.height=60;
                    
        Circle[i].setFace(j,sdd);
    }
      }
        
       
      Radius  = 100;   
      Pi      = Math.PI;   
      Inc     = Pi/720;   
   
      Pos[0] = 0;   
      for(i=1;i<Circle.length;i++) Pos[i] = parseFloat(Pos[i-1] + ((2*Pi)/Circle.length));   
        
      setInterval(function(){for(i=0;i<Pos.length;i++)   
      {   
        Pos[i]         = Pos[i] + Inc;   
        left1 = 5*Radius*Math.cos(Pos[i]) + CenterX - 5;   
        top1  = Radius*Math.sin(Pos[i]) + CenterY - 5; 
        Circle[i].setLocate(left1,top1);
        Circle[i].rotate(0,1,0);
       
      } },10);
      
    }   
         
    setInterval("Last()",1);   
       
    function Last()   
    {   
   
      for (i=0;i<Pos.length;i++)
      {
        Circle[i].visibility = "visible";   
      }
      
      
      for(i=0;i<Pos.length;i++)   
      {   
        Pos[i] = Pos[i] + Inc;   
        Circle[i].left = 5*Radius*Math.cos(Pos[i]) + CenterX - 5;   
        Circle[i].top  = Radius*Math.sin(Pos[i]) + CenterY - 5; 
        var str=parseInt(Circle[i].top);
        //alert(str);
        
        if(str>CenterY) {
            Circle[i].setIndex(999);
    }
    else
    {
             Circle[i].setIndex(-999);
    }
      }   
    }

    var f = new Cube();
    f.setLight(true);
    f.setFace(0,document.all.a);
    f.setFace(1,document.all.b);
    f.setFace(2,document.all.c);
    f.setFace(3,document.all.d);
    f.setFace(4,document.all.e);
    f.setFace(5,document.all.g);
    f.setLocate(CenterX,CenterY);
    f.setRadius(100);
    f.rotate(45,0,45);
    setInterval(function(){f.rotate(0,1,0);},10);
        
</script>
</body>
</html>

有点卡,纯属娱乐!

 

js实现卫星效果图

标签:des   style   blog   http   color   java   os   io   for   

原文地址:http://www.cnblogs.com/pinsige/p/3929993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!