js实现卫星效果图

以前看过一个哥们的博客,用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>

有点卡,纯属娱乐!

时间: 2024-11-12 01:40:34

js实现卫星效果图的相关文章

js轮播效果图

<!DOCTYPE html><html><head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <style type="text/css"> *{ padding: 0px; margin: 0px; } #slideBox{ posi

canvas+js实现时钟效果图

1 <! DOCTYPE html> 2 <html> 3 <head> 4 <title>Clock</title> 5 </head> 6 <style> 7 canvas{ 8 border:1px solid red; 9 } 10 </style> 11 <body > 12 <canvas width=500 height=400 id="c">浏览器暂不

MVC如何使用开源分页插件shenniu.pager.js

最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只能ip访问,没有域名哈哈),其架构组成由:aspnetcore1.0.0+redis+ postgressql+TaskMainForm服务,这个项目在后期会开源出来供大家分享学习,站点地址点这里心声网:一者是目前正在做的后台管理框架一叶子,现目前刚好吧js分页插件shenniu.pager.js写

Vis.js图表插件

Vis.js是一款基于JavaScript的可视化图表库,Vis.js不像其他的图表库那样仅仅支持几种常用的数据图表,比如线形图.柱状图.饼图等,Vis.js支持上百种不同类型的可视化图表类型,比如时间线图.网络图.2D图表.3D图表,每一种类型的图表下又包含几十种不同展现方式的数据图表. 更为让人震撼的是,Vis.js图表都是动态的,也就是说你可以拖动每一个数据节点来让图表数据进行动态排列. Vis.js时间线图的效果图 Vis.js网络图效果图: Vis.js 2D图表效果图: Vis.js

Js与OC交互

Js与OC交互 源码请点击github地址下载. 下面讲述实现OC和JS的交互,它们相互调用,其中需要写一个静态的HTML文件用于提供JS方法. 效果图如下: screen.png 一.OC调用JS: 不说闲话,看代码如下 需要先在js文件定义方法postStr供oc调用 function postStr(string) { return 'I am the return parameter JS, and param ' + string; } oc代码只需一句即可调用 NSString *s

分页浏览的导航栏Bootstrap和js两种方法

1,Bootstrap写法: 效果图: 代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""&

JS使用cookie实现只出现一次的广告代码效果

我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中.服务端通过这种方式来获取用户的信息l. 今天的这个效果:第一次打开网页弹出一个广告框(js实现卷帘效果),关闭广告代码或刷新页面之后就不会再出现.由于往电脑里写cookie信息是服务器行为,只有访问网站,服务器才会向电脑里写cookie信息,由于现在只是普通

关于富文本编辑器UEditor

2017.1.18,星期三?     关于富文本编辑器:     富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器. 富文本编辑器不同于文本编辑器,程序员可到网上下载免费的富文本编辑器内嵌于自己的网站或程序里(当然付费的功能会更强大些),方便用户编辑文章或信息.比较好的文本编辑器有kindeditor,fckeditor等. 关于UEditor:官网                           UEditor文档,我们的说明书

stackoverfow访问 ajax.googleapis.com

本文实验环境:Fedora 23 先用nslookup 查看stackoverflow.com的ip -vc参数,表示用强制用TCP 查到的stackoverflow的地址似乎没错, 用本地的DNS解析和谷歌8.8.8.8 DNS解析的结果一样. 但Stackoverflow.com 依然无法访问! 浏览器使用开发者模式可以看到  注意  这个请求是浏览器发出的不是服务器那边的,所以可以自建本地http服务器来解决这个问题. 解决方法: 自建本地文件服务器,然后修改/etc/hosts文件,将相