JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

Posted Cynical丶Gary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS框架_(JQuery.js)夜晚天空满天星星闪烁动画相关的知识,希望对你有一定的参考价值。

 

 

百度云盘  传送门  密码:xftr

 

满天星星闪烁动画效果:

(可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) 

 

 

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery夜晚天空满天星星闪烁动画</title>

<script src="js/jquery.min.js"></script>

<style>
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  background: #22313f;
}

#starsBox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  opacity: .5;
}
#starsBox span {
  display: inline-block;
  width: auto;
  position: absolute;
  border-radius: 100%;
  transition: 100s linear;
}

p {
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  transform: translateY(-50%);
  font-size: 40px;
  font-weight: 900;
  color: white;
  text-shadow: 0 0 50px black;
  text-transform: capitalize;
  font-family: \'Roboto\',\'Helvetica\',\'Arial\',sans-serif;
  letter-spacing: 5px;
}

p > span {
  display: block;
  font-size: 12px;
  color: #bdc3c7;
  margin-top: 30px;
  font-weight: 100;
  text-shadow: 0 0 50px black;
  letter-spacing: 3px;
}
p > span > a {
  font-weight: 700;
  text-decoration: none;
  color: #d64541;
  padding-bottom: 2px;
  border-bottom: 0px solid #d64541;
  transition: 0.5s;
}
p > span > a:hover {
  padding-bottom: 5px;
  border-bottom: 2px solid #d64541;
}
</style>
</head>
<body>



<div id="starsBox"></div>

<p>Gary</p>

<script type="text/javascript">
var cols = [\'#f5d76e\',\'#f7ca18\',\'#f4d03f\',\'#ececec\',\'#ecf0f1\',\'#a2ded0\'];
var stars = 250;

for (var i = 0; i <= stars; i++) {

    var size = Math.random()*3;
  var color = cols[parseInt(Math.random()*4)];

    $(\'#starsBox\').prepend(\'<span style=" width: \' + size + \'px; height: \' + size + \'px; top: \' + Math.random()*100 + \'%; left: \' + Math.random()*100 + \'%; background: \' + color + \'; box-shadow: 0 0 \'+ Math.random()*10 +\'px\' + color + \';"></span>\') ;
};

setTimeout(function(){ 
    $(\'#starsBox span\').each(function(){  
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 1);

setInterval(function(){ 
    $(\'#starsBox span\').each(function(){      
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 100000);
</script>

</body>
</html>
index.html

 

 

text-transform属性,可以轻易地实现英文字母大小写转换

  capitalize; 单词首个字母大写

  uppercase; 全部大写

  lowercase; 全部小写

 

实现过程

 

Math.random()是令系统随机选取大于等于0.0且小于1.0的伪随机double值

 

<script type="text/javascript">
var cols = [\'#f5d76e\',\'#f7ca18\',\'#f4d03f\',\'#ececec\',\'#ecf0f1\',\'#a2ded0\'];
var stars = 250;

for (var i = 0; i <= stars; i++) {

    var size = Math.random()*3;
  var color = cols[parseInt(Math.random()*4)];

    $(\'#starsBox\').prepend(\'<span style=" width: \' + size + \'px; height: \' + size + \'px; top: \' + Math.random()*100 + \'%; left: \' + Math.random()*100 + \'%; background: \' + color + \'; box-shadow: 0 0 \'+ Math.random()*10 +\'px\' + color + \';"></span>\') ;
};

setTimeout(function(){ 
    $(\'#starsBox span\').each(function(){  
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 1);

setInterval(function(){ 
    $(\'#starsBox span\').each(function(){      
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 100000);
</script>
关键代码

 

 

  定义size为随机数,用于生成随机颜色和闪烁点随机距离

  var size = Math.random()*3;
  var color = cols[parseInt(Math.random()*4)];

 

  设置星星闪烁、大小和颜色

    $(\'#starsBox\').prepend(\'<span style=" width: \' + size + \'px; height: \' + size + \'px; top: \' + Math.random()*100 + \'%; left: \' + Math.random()*100 + \'%; background: \' + color + \'; box-shadow: 0 0 \'+ Math.random()*10 +\'px\' + color + \';"></span>\') ;
};

 

  到达随机时间后星星闪烁和移动发生变化

setTimeout(function(){ 
    $(\'#starsBox span\').each(function(){  
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 1);

 

  设置每个星星之间的随机间隔

setInterval(function(){ 
    $(\'#starsBox span\').each(function(){      
         $(this).css(\'top\', Math.random()*100 + \'%\').css(\'left\', Math.random()*100 + \'%\'); 
  });
}, 100000);

 

以上是关于JS框架_(JQuery.js)夜晚天空满天星星闪烁动画的主要内容,如果未能解决你的问题,请参考以下文章

数星星

用这个插件jquery.raty.js————用于星星评价(这个案例用于后台传数据给我,前台显示星星个数)

藏在星河里的温柔文案

JS框架_(JQuery.js)模拟刮奖

JS框架_(JQuery.js)点赞按钮动画

JS框架_(JQuery.js)图片相册掀开切换效果