首页 > 其他分享 >前端简单实现页面下雪效果

前端简单实现页面下雪效果

时间:2022-08-16 19:33:20浏览次数:58  
标签:container dom 下雪 前端 random innerWidth span Math 页面

html与css部分

<style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body{
            overflow: hidden;
        }
        .container{
            min-height: 100vh;
            background-image: linear-gradient(to right,#56CCF2 ,#2F80ED);
        }
        .container span {
            position: absolute;
            top: 0;
            border-radius:50% ;
            height: 20px;
            width: 20px;
            background-color: #fff;
            filter: blur(3px);
            animation: snowFall 5s linear infinite;
        }

        @keyframes snowFall {
            100%{
                transform: translateY(105vh) scale(.4);
            }
        }
    </style>

<body>
   <div class="container"></div>
</body>

  

 

js部分 

<script>
        function createSnow (){
            let container = document.querySelector('.container')
            let span = document.createElement("span")
            // 随机x轴出现雪  
    // Math.random() * innerWidth 表示  Math.random() *  1920
    // innerWidth 返回窗口的文档显示区的宽度,如果有水平滚动条,也包括滚动条高度。
            span.style.left = Math.random() * innerWidth + "px"
            container.appendChild(span)
            // 周期性将span删除
            setTimeout(()=> {
     // dom remove()方法 用来删除dom 接收一个参数index时,会按照DOM数组的下标删除dom
                span.remove()
            },5000)
        }
       // 每1毫秒创建雪
        setInterval(createSnow,100 )
</script>

  

标签:container,dom,下雪,前端,random,innerWidth,span,Math,页面
From: https://www.cnblogs.com/hoodoo/p/16592704.html

相关文章

  • 前端 - browserslist 的 not dead 规则是什么
    一、browserslist什么用于指定浏览器范围。你会发现有package.json文件里的browserslist字段(或一个单独的.browserslistrc文件),指定了项目的目标浏览器的范围。这......
  • javascript实现前端sleep
    一、定义//第一种,使用while循环functionsleep(delay){varstart=(newDate()).getTime();while((newDate()).getTime()-start<delay){con......
  • 前端常用布局方式大全——细致讲解
    盒模型点击打开视频教程标准盒模型、怪异盒模型(IE盒模型)什么是盒模型?盒模型的作用:规定了网页元素如何显示以及元素间的相互关系盒模型的概念:盒模型是css布局的基石,它......
  • 前端监控系列2 |聊聊 JS 错误监控那些事儿
    作者:彭莉,火山引擎APM研发工程师。2020年加入字节,负责前端监控SDK的开发维护、平台数据消费的探索和落地。有必要针对JS错误做监控吗?我们可以先假设不对JS错误......
  • flutter 基础 —— 缓存页面与滚动位置等信息
    一、缓存页面比如Tab切换,旧的Tab可能被销毁,我们需要做缓存。解决方法:如果是PageView可以更改allowImplicitScrolling值为true,会缓存前后各一页。其它组件,可以......
  • VUE+Django前后端分离-第四部分【后台数据如何展示在前端table表格中】
    一、后端返回数据后端返回的数据格式如下:{"msg":"success","data":[{"rule":1,"result":"exception",......
  • 前端必备的 HTTP 知识
    HTTP起源HTTP是由蒂姆·伯纳斯-李(TimBerners—Lee)于1989年在欧洲核子研究组织(CERN)所发起其中最著名的是1999年6月公布的RFC2616,定义了HTTP协议中现今广泛使用......
  • vue-router跳转页面的两种方式
    1.通过path地址(1)query传参:/path?key1=value&key2=val2...this.$router.push(`/detail/${this.msg}/dfdf`)(2)params传参:/path/${this.msg}/dfdfthis.$router.pus......
  • 页面滚动到指定dom的位置
    //1.使用wx.createSelectorQuery()查询到需要滚动到的元素位置wx.createSelectorQuery().select('#bb4').boundingClientRect(res=>{......
  • 16 Django页面优化1
    需要用到bootstrapmodels.pyclassTransactionRecord():"""交易记录"""charge_type_class_mapping={1:"success",2:"danger",......