使用js实现一个星星海特效

发布时间:2020-10-30 14:54:47 作者:Leah
来源:亿速云 阅读:162

使用js实现一个星星海特效?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先需要获取屏幕大小:

 var screenWidth = document.documentElement.clientWidth;
 var screenHeight = document.documentElement.clientHeight;

接着可以定义动画(星星透明度):

@keyframes flash {
   0%{opacity: 0}
   25%{opacity: 0.25}
   50%{opacity: 0.5}
   75%{opacity: 0.75}
   100%{opacity: 1}
  }

全部代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  div{
   width: 70px;
   height: 80px;
   background: url("./images/star.jpg") no-repeat;
   animation: flash 1s;
  }
  body{
   background-color: black
  }
  @keyframes flash {
   0%{opacity: 0}
   25%{opacity: 0.25}
   50%{opacity: 0.5}
   75%{opacity: 0.75}
   100%{opacity: 1}
  }
 </style>
</head>
<body>

<script>
 var screenWidth = document.documentElement.clientWidth;
 var screenHeight = document.documentElement.clientHeight;
 // 生产50个星星
 for (let i = 0; i <50 ; i++) {
  var box=document.createElement('div');
  document.body.appendChild(box);
  x=Math.random()*screenWidth;
  y=Math.random()*screenHeight;
  box.style.position='relative';
  box.style.left=x+'px';
  box.style.right=y+'px';
 }
 boxList=document.getElementsByTagName("div");
 for (let i = 0; i < boxList.length; i++) {
  boxList[i].onmouseover=function () {
   this.style.transform='scale(1.5,1.5)';
  };
  boxList[i].onmouseout=function () {
   this.style.transform='scale(1,1)';
  };
 }
</script>
</body>
</html>

效果如下:

使用js实现一个星星海特效

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. js实现的星星评分特效
  2. js实现小星星游戏

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js

上一篇:antd Form组件使用getFieldsValue方法获取自定义组件的值

下一篇:excel导出在docker环境中总是失败如何解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》