最简单的利用原生js模拟电视机屏保效果

简介: 最简单的利用原生js模拟电视机屏保效果小的时候记得家里刚用彩色电视机时,看电视还要用天线,当天线信号不好时,电视屏幕就会进入到屏保状态,有一串文字在屏幕内“撞来撞去”。下面我们来讲一下如何实现下图这个效果:在这里插入图片描述HTML代码: 调速:<input type="number" name="" id="num"> <div id="box"></div> 1 2CSS代码: * { margin: 0; padding: 0; } #box { width:

最简单的利用原生js模拟电视机屏保效果




小的时候记得家里刚用彩色电视机时,看电视还要用天线,当天线信号不好时,电视屏幕就会进入到屏保状态,有一串文字在屏幕内“撞来撞去”。下面我们来讲一下如何实现下图这个效果:


在这里插入图片描述

20200530014415138.gif

HTML代码:

调速:<inputtype="number"name=""id="num"><divid="box"></div>


CSS代码:



* {
        margin: 0;
        padding: 0;
    }
    #box {
        width: 200px;
        height: 200px;
        background: red;
        position: absolute;
        top: 0;
        left: 0;
    }

JS代码:

// 获取元素
    var oBox = document.getElementById("box");
    var oV=document.getElementById("num");
    var x = 0,y = 0;
    var on=true;
    var on2=true;
    var v1=0;
    oV.onchange=function(){
        v1=Number(this.value)
    }
    setInterval(function () {
        // 水平
        if(on){
            x+=v1;
            if(x>=innerWidth-200){
                on=!on;
            }
        }else{
            x-=v1;
            if(x<=0){on=!on;}}//垂直if(on2){y++;if(y>=innerHeight-200){
                on2=!on2;
            }
        }else{
            y--;
            if(y<=0){on2=!on2;}}//if(x>=innerWidth-200) {
        //     // 超出水平方向范围
        //     x--;
        // }else{
        //      x++;
        // }
        // if(y>=innerHeight-200){
        //     //超出垂直方向范围
        //     y--;
        // }else{
        //     y++;
        // }
        oBox.style.left = x + "px";
        oBox.style.top = y + "px";
    }, 1)


注意: 其实实现屏保效果很简单,需要注意的是怎样编辑临界条件,怎样确定当前的方块应该向哪个方向移动。


**视频讲解链接:https://www.bilibili.com/video/BV195411s7aT/**

文章来源:https://blog.csdn.net/qq_39155611/article/details/106436099


相关文章
|
17天前
|
JavaScript 算法 数据安全/隐私保护
原生JS实现:密码输入框显示隐藏密码效果
原生JS实现:密码输入框显示隐藏密码效果
|
17天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
17天前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
15天前
|
前端开发 JavaScript
前端 js 经典:Object 常用原生方法
前端 js 经典:Object 常用原生方法
33 2
|
15天前
|
前端开发 JavaScript
前端 js 经典:array 原生方法
前端 js 经典:array 原生方法
20 1
|
15天前
|
JavaScript 索引
jQuery 实现 图片框切换【与原生 JS 对比】
jQuery 实现 图片框切换【与原生 JS 对比】
|
15天前
|
监控 JavaScript 前端开发
超越原生:探索Node.js中最佳文件系统三方库
超越原生:探索Node.js中最佳文件系统三方库
|
16天前
|
JavaScript 前端开发 索引
JavaScript array 原生 reduce 方法的模拟实现
JavaScript array 原生 reduce 方法的模拟实现
18 2
|
17天前
|
JavaScript 计算机视觉
原生js通过年龄判断是否可以抽奖
原生js通过年龄判断是否可以抽奖
14 0
|
17天前
|
存储 JavaScript 前端开发
原生JS如何实现验证码
原生JS如何实现验证码
16 0