JS实现星星海特效


Posted in Javascript onDecember 24, 2019

本文实例为大家分享了JS实现星星海特效的具体代码,供大家参考,具体内容如下

知识点

1.CSS使用@keyframes自定义动画,使用animation调用自定义动画

2.opacity 透明度。从 0.0 (完全透明)到 1.0(完全不透明)

3.CSS中transform

4.animation-delay 属性定义动画何时开始。

5.求屏幕尺寸

var 宽 = document.documentElement.clientWidth;
var 高 = document.documentElement.clientHeight;

6.JS创建节点

7.JS在某元素后追加节点

appendChild()

8.UnderScore.js通过_调用其中的API

运行效果

JS实现星星海特效

代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="UnderScore.js"></script>
 <style>
  *{margin: 0;padding-top: 0}
  body{background-color: #000}
  span{
   width: 30px;
   height: 30px;
   background: url("star.png") no-repeat;
   position: absolute;
   background-size: contain;
   animation: flash 1s alternate infinite;
  }
  @keyframes flash{
   0%{opacity: 0}
   25%{opacity: 0.25}
   50%{opacity: 0.5}
   75%{opacity: 0.75}
   100%{opacity: 1}
  }
  span:hover{
   transform: scale(3, 3) rotate(180deg) !important;
   transition: all 1s;
  }
 </style>
</head>
<body>
<script>
 window.onload = function (ev) {
  // 1. 求出屏幕尺寸
  var screenWidth = document.documentElement.clientWidth;
  var screenHeight = document.documentElement.clientHeight;

  // 2. 动态创建10颗星星
  for (var i = 0; i < 200; i++) {
   // 2.1 创建星星
   var span = document.createElement('span');
   document.body.appendChild(span);

   // 2.2 随即坐标
   var x = parseInt(_.random(0, screenWidth));
   var y = parseInt(_.random(0, screenHeight));
   span.style.left = x +'px';
   span.style.top = y + 'px';

   // 2.3 随机缩放
   var scale = _.random(0, 1.5);
   span.style.transform = 'scale('+scale+','+scale+')';

   // 2.4 频率
   var rate = _.random(0, 1.5);
   span.style.animationDelay = rate + 's';
  }
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery的end()方法使用详解
Jul 15 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
简单掌握JavaScript中const声明常量与变量的用法
May 21 Javascript
对js中回调函数的一些看法
Aug 29 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
Vue实现一个无限加载列表功能
Nov 13 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
Openlayers实现地图的基本操作
Sep 28 Javascript
JS实现图片切换特效
Dec 23 #Javascript
JS实现简易留言板特效
Dec 23 #Javascript
JS实现关闭小广告特效
Jan 29 #Javascript
vue element-ui实现动态面包屑导航
Dec 23 #Javascript
vue实现图片上传预览功能
Dec 23 #Javascript
vue项目实现图片上传功能
Dec 23 #Javascript
Vue移动端实现图片上传及超过1M压缩上传
Dec 23 #Javascript
You might like
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
对联广告js flash激活
2006/10/19 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
详解Python 解压缩文件
2019/04/09 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
数控专业个人求职信范例
2013/11/29 职场文书
日语求职信范文
2013/12/17 职场文书
端午节活动策划方案
2014/03/09 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
临时用工协议书范本
2014/10/29 职场文书
客房领班岗位职责
2015/02/11 职场文书
首都博物馆观后感
2015/06/05 职场文书
运动会1000米加油稿
2015/07/21 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Python基础之条件语句详解
2021/06/16 Python