首先需要获取屏幕大小:
1
2
|
var screenWidth = document.documentElement.clientWidth; var screenHeight = document.documentElement.clientHeight; |
接着可以定义动画(星星透明度):
1
2
3
4
5
6
7
|
@keyframes flash { 0% {opacity: 0 } 25% {opacity: 0.25 } 50% {opacity: 0.5 } 75% {opacity: 0.75 } 100% {opacity: 1 } } |
全部代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<!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实现星星海特效的示例的详细内容,更多关于js 星星海特效的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/manbaout/p/13233995.html