JavaScript编写动态时钟

效果图:
在这里插入图片描述
在这里插入图片描述
实质上就是调用时间库,再添加一个颜色数组,给显示的时间嵌套一个div盒子,再将颜色数组的颜色设置随机变化,这样就使得时间变化的时候颜色也会发生变化。
完整源代码:

<!DOCTYPE html>
<html>
 <head>
   <meta charset="utf-8">
  <title>网页时钟</title>
 <style>
  
  </style>
 </head>
 <style>
  
  .center{
     background: url(img/shizhong.jpg) no-repeat center;
            font-size: 50px;
            height: 600px;
            line-height: 620px;
            text-align: center;
  }
 </style>
 <body>
  <div class="center"  id = "spanTip"></div>
 </body>
 <script>
  //格式化时间 给前面加个0;
  function addZero(num){  return   num < 10? '0' + num : num;   } 
  function genDate(){
  var date = new Date();
  //获取时间
  var dateStr =addZero(date.getHours()) +":"+addZero(date.getMinutes())+":"+addZero(date.getSeconds());
  var spanTip = document.getElementById("spanTip");
  spanTip.innerHTML = dateStr;
  //颜色数组
  var color = ['red', 'green', 'yellow', 'blue', 'black', 'gold', 'orange', 'gray', 'pink', 'maroon']; //钟表颜色数组
     var radom = Math.floor(Math.random() * color.length ); //随机数
        spanTip.style.color = color[radom]; //设置随机颜色
 }
  window.setInterval("genDate()",1000);
</script>
</html>
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Cesium是一款强大的地球浏览器框架,支持用JavaScript编写动态水面。 下面是一个简单的例子,该代码将创建一个圆形水面: ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); var entity = viewer.entities.add({ name : 'Water surface', position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), ellipse : { semiMinorAxis : 1000.0, semiMajorAxis : 1000.0, material : new Cesium.ImageMaterialProperty({ image : 'path/to/water.png', repeat : new Cesium.Cartesian2(5.0, 5.0) }) } }); ``` 该代码使用了Cesium的`Viewer`类和`entities.add()`方法创建了一个新的实体。 通过设置实体的`ellipse`属性,我们可以在场景中添加一个圆形水面。 可以通过更改代码中的图像路径、水面大小和位置来调整水面的外观和行为。 ### 回答2: 要用JavaScript代码编写Cesium动态水面,首先需要使用Cesium库和相关插件。下面是一个简单的实现例子: ```javascript // 创建Cesium Viewer const viewer = new Cesium.Viewer("cesiumContainer"); // 创建水面 function createWater() { const waterSurface = new Cesium.Water(new Cesium.Cartesian3(-90000.0, -90000.0, 0.0)); waterSurface.shininess = 0.1; waterSurface.specularIntensity = 0.3; waterSurface.normalMap = "path/to/normalMap.png"; // 水面法线贴图路径 waterSurface.colorBlendMode = Cesium.BlendMode.HIGHLIGHT; waterSurface.colorBlendAmount = 0.5; viewer.scene.primitives.add(waterSurface); // 动态更新水面效果 viewer.clock.onTick.addEventListener(function (clock) { const time = clock.currentTime.secondsOfDay; waterSurface.smallWavesFrequency = time * 0.02; // 水波的频率 waterSurface.smallWavesSpeed = time * 0.01; // 水波的速度 }); } createWater(); ``` 上述代码中,我们使用了Cesium的Water对象创建水面,并设置了一些参数,如光泽度、反射强度、水波法线贴图等。然后,我们使用Cesium的Clock对象监听时钟每Tick的事件,在每个Tick时更新水面的效果,产生动态的水波效果。 需要注意的是,除了以上示例中的代码,还需要加载Cesium的库和相关资源(可以是本地文件或CDN链接),以及创建一个用于显示Cesium的HTML容器(如id为“cesiumContainer”的div),才能使水面正常显示。可以根据实际需求进行更多的参数设置和功能扩展。 ### 回答3: 要用Javascript代码编写Cesium动态水面,首先需要使用Cesium的Water模块。以下是一个简单的示例代码: ```javascript // 创建cesium场景 var viewer = new Cesium.Viewer("cesiumContainer"); // 添加水面 var water = viewer.scene.primitives.add(new Cesium.Water({ // 设置水面的位置和大小 normalMap: "path/to/normal_map.jpg", // 水面法线贴图 frequency: 1000, // 波频 animationSpeed: 0.02, // 波动速度 amplitude: 10.0, // 波动幅度 specularIntensity: 0.8, // 镜面反射强度 baseWaterColor: Cesium.Color.WHITE, // 水面基础颜色 blendColor: Cesium.Color.BLUE, // 混合颜色 properties: { // 设置水面的属性 waves: new Cesium.Cartesian3(10, 10, 0.0) // 波动向量 } })); // 设置相机位置 viewer.scene.camera.setView({ destination : Cesium.Cartesian3.fromDegrees(-122.4194, 37.7749, 1000.0) // 设置经纬度和高度 }); ``` 上述代码中,首先创建了一个Cesium的Viewer对象,并实例化了一个水面对象water并添加到场景中。然后通过设置水面的各种参数,如法线贴图、波频、波动速度等,来控制水面的效果。最后设置相机初始位置,以使水面可见。 请注意,在实际应用中,你可能需要根据具体需求对水面进行进一步的自定义和优化,例如调整水面的形状、添加材质等等。以上代码仅作为示例,供参考使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值