美文网首页
前端新手项目练习之星星闪烁

前端新手项目练习之星星闪烁

作者: 简单一点点 | 来源:发表于2018-10-22 23:42 被阅读35次

前端新手记录自己在网络上找到的前端练习项目。

项目简介

黑色背景的网页上随机分布着一个个闪烁的星星,星星闪烁的效果的是由一个有7个不同时刻星星的图片通过定时器循环显示来实现。


星星闪烁.gif
star.png

html部分

此项目的html和CSS都比较简单,放在了一起。

<body style="background:#000">
    <div id="stars"></div>
</body>

可以在html中直接使用style属性来添加CSS,本项目直接将背景设为黑色。

javascript部分

<script>
    var stars = document.getElementById('stars');
    var Obj = function() {} //创建一个对象

    Obj.prototype.drawStar = function() {
        var odiv = document.createElement('div');//创建div元素
        odiv.style.width = "7px";//设置元素宽度
        odiv.style.height = "7px";//设置元素高度
        odiv.style.position = 'relative';//设置元素定位使用的类型
        odiv.style.left = Math.floor(document.body.clientWidth * Math.random()) + "px";//随机生成一个左侧位置
        odiv.style.top = Math.floor(document.body.clientHeight * Math.random()) + "px";//随即生成一个顶部位置
        odiv.style.overflow = "hidden";//溢出部分隐藏
        stars.appendChild(odiv);//将元素放在stars元素里面

        var ostar = document.createElement('img');//创建img元素(图像)
        ostar.style.width = '49px';//设置元素宽度
        ostar.style.height = '7px';//设置元素高度
        ostar.src = 'imgs/star.png';//图片引用位置
        ostar.style.position = 'absolute';//设置元素定位使用的类型
        ostar.style.top = '0px';//顶部位置
        odiv.appendChild(ostar);//将元素放在div元素里
        Play(ostar);
    }

    //实现闪烁
    function Play(ele) {
        var i = Math.floor(Math.random() * 7);
        var timer = setInterval(function() { //定时器,7个图片循环显示
            if(i < 7) {
                ele.style.left = -i * 7 + 'px';
                i++;
            }
            else {
                i = 0;
            }
        }, 100);
    }
    //创建30个星星
    for(var i = 0; i < 30; i++) {
        var obj = new Obj();
        obj.drawStar();
    }
</script>

style属性

在javascript中可以通过style属性来获取或者改变DOM元素的样式。

prototype属性

prototype 属性用来向对象添加属性和方法。

setInterval()

setInterval(code,interval)方法按照指定的周期执行来执行一段程序;周期是以毫秒为单位的。

参数列表:

参数 说明
code 必需。要周期执行的程序。
interval 必需。周期的时间跨度,以毫秒计算。

CSS部分

本项目没有单独的CSS,但有个CSS知识点需要记录一下。

position属性

position用来指定元素的定位类型,常用的值为relative和absolute。使用absolute时,生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定;使用relative时,生成相对定位的元素,相对于其正常位置进行定位,因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

结束语

一闪一闪亮晶晶,满天都是小星星,简单又漂亮的一个小项目。源码查看请点击https://github.com/yunkai123/WebProjectStudy

相关文章

  • 前端新手项目练习之星星闪烁

    前端新手记录自己在网络上找到的前端练习项目。 项目简介 黑色背景的网页上随机分布着一个个闪烁的星星,星星闪烁的效果...

  • 前端新手项目练习之可拖动弹窗

    前端新手项目练习之可拖动弹窗 前端新手记录自己在网络上找到的前端练习项目。最近工作忙得要死,感觉自己有些扛不住,这...

  • 前端新手项目练习之钟表

    前端新手项目练习值钟表 前端新手记录自己在网络上找到的前端练习项目。 项目简介 一个简单的钟表,有刻度和数字,利用...

  • 前端新手项目练习之星级评分

    前端新手项目练习之星级评分 前端新手记录自己在网络上找到的前端练习项目。 项目简介 一个简单的星评分系统,鼠标移上...

  • 前端新手项目练习之网页换肤

    前端新手记录自己在网络上找到的前端练习项目。 项目简介 项目包含红、绿、黑3个简单的按钮和一个导航栏,通过点击按钮...

  • 前端新手项目练习之广告轮播

    前端新手记录自己在网络上找到的前端练习项目。 项目简介 5个广告轮流播放,鼠标放上去会停止切换,鼠标移开继续轮播,...

  • 前端新手项目练习之select控件

    前端新手记录自己在网络上找到的前端练习项目。昨天去通州考试,早上五点出发赶第一班地铁,真是累的要死。 项目简介 一...

  • 前端新手项目练习之拼图游戏

    前端新手记录自己在网络上找到的前端练习项目。趁热打铁,再练习一下鼠标拖动相关的事件,这个小游戏是一个不错的选择,玩...

  • 前端新手项目练习之烟花绽放

    由于最近工作没有使用前端,而且前面写的有些疲惫,就没再写。但是感觉一段时间不写之后就忘得差不多了,学习真是一件持之...

  • 闪烁的星星

    来到成都我每晚都在怀念家乡的星星。这里厚厚的云彩和雾霾一起掩埋了满天星辰,只有在运气特别好的晚上,才会看到零零星星...

网友评论

      本文标题:前端新手项目练习之星星闪烁

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