一闪一闪亮晶晶

作者: ForeverYoung20 | 来源:发表于2017-03-13 10:55 被阅读170次

效果图

不太熟悉如何生成动态图,所以效果有点出入。原效果与此类似,所有小星星按照自己的时间一闪一闪,并且不会移动。当鼠标移入任意小星星时,小星星旋转180度。

一闪一闪亮晶晶.gif

注意点:

  1. 小星星的位置、大小、闪烁时间需要随机数设置。
  2. 由于js中设置大小缩放动画会覆盖掉鼠标移入星星时旋转的动画,所以css中要把旋转动画加! important来提高优先级。
  3. 获取屏幕的宽高时注意用||符号来消除不兼容因素。

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        *{
            margin: 0;
            padding: 0;
            border: none;
        }
        body{
            background: black;
        }
        .spa{
            width: 56px;
            height: 56px;
            background: url("img/star.png") no-repeat;
            position: absolute;
            animation: fresh 1s linear 0s infinite alternate;
            transition: all 1s;
        }
        @keyframes fresh {
            from{
                opacity: 0;
            }
            to{
                opacity:1;
            }
        }

        .spa:hover{
            transform: rotate(180deg) !important;
        }
    </style>

    <script>
        window.onload = function () {
            //获取屏幕宽度和高度
            var screenX = document.body.clientWidth || document.documentElement.clientWidth;
            var screenY = document.body.clientHeight || document.documentElement.clientHeight;

            var body = document.getElementsByTagName('body')[0];
            //创建300个小星星
            for(var i=0; i<300; i++) {
                var oSpan = document.createElement('span');
                oSpan.setAttribute('class','spa');

                var x = Math.random() * screenX;
                var y = Math.random() * screenY;
                var delay = Math.random() * 2;//随机控制星星闪烁动画的延迟时间
                var scale = Math.random();//随机控制星星的大小

                oSpan.style.left = x + 'px';
                oSpan.style.top  = y + 'px';
                oSpan.style.animationDelay = delay + 's';
                oSpan.style.transform = 'scale(' + scale + ')';

                body.appendChild(oSpan);
            }
        }
    </script>
</head>
<body>
</body>
</html>

另附小星星图片一张

star.png

相关文章

  • 【557】小星星

    一闪一闪亮晶晶,满天都是小星星,挂在天空放光明,好像千万小眼睛,一闪一闪亮晶晶,满天都是小星星…… ...

  • 你不知道的50个冷知识

    1. <<一闪一闪亮晶晶>>和<<字母歌>>其实是一样的旋律的,不信你唱出来,"一闪一闪亮晶晶" ,"ABCDEF...

  • 满天星

    一闪一闪亮晶晶,满天都是小星星

  • 都是你

    一闪一闪亮晶晶,满天满夜都是你。

  • 亲亲我的宝贝-三张老照片的故事

    一闪一闪亮晶晶,满天都是小星星, 挂在天上放光明,好像许多小眼睛, 一闪一闪亮晶晶,满天都是小星星, 挂在天上放光...

  • 夜空中最亮的星

    文/宏木每 月亮 不是一闪一闪 亮晶晶

  • 一闪一闪亮晶晶

    月夜的星空一闪一闪,蟋蟀声、流水声、鸟鸣声连绵不绝,露水飘撒在寂静无声的大地上,很美,细腻柔和,不带一丝粗鲁暴怒,...

  • 一闪一闪亮晶晶

    如果生命中有过肆情绽放的日子,那一定是烧心挖掘,生存在这个世界上的一些听不见的歇斯底里和看不见的动人故事。 有想去...

  • 一闪一闪 亮晶晶

    深夜,坐在三万英尺的高空,看着下方的点点光亮,阡陌井然,错落有致。呈四角星状的是路灯,照着蜿蜒的道路,无限蔓延黄色...

  • 一闪一闪亮晶晶

    亲爱的小孩 第一首歌 一闪一闪亮晶晶 不完整 妈妈心里 最美的歌

网友评论

    本文标题:一闪一闪亮晶晶

    本文链接:https://www.haomeiwen.com/subject/lyjfnttx.html