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 相关文章推荐
关于firefox的ElementTraversal 接口 使用说明
Nov 11 Javascript
JavaScript 学习历程和心得分享
Dec 12 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
Node.js使用Koa搭建 基础项目
Jan 08 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
vue侧边栏动态生成下级菜单的方法
Sep 07 Javascript
浅谈vue后台管理系统权限控制思考与实践
Dec 19 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
VUE递归树形实现多级列表
Jul 15 Vue.js
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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php include加载文件两种方式效率比较
2010/08/08 PHP
PHP如何使用Memcached
2016/04/05 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
详解python while 函数及while和for的区别
2018/09/07 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
出纳岗位职责范本
2013/12/01 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL