自动切换背景的登录页面

简介: 自动切换背景的登录页面

自动切换背景的登录页面

有趣的小案例池子:

JS实现定时器
JS实现关闭图片窗口
JS实现输入检验
获取焦点后隐藏提示内容的输入框
JS实现获取鼠标在画布中的位置
聊天信息框显示消息
JS点击切换背景图
自动切换背景的登录页面
JS制作跟随鼠标移动的图片
JS实现记住用户密码

概述

本文讲解如何美化登录页面,给登录页面加上一个不断随着时间自动切换的背景的功能,这样更好看。

参考文章:登录页面案例->JS点击切换背景图->confirm()、setInterval()、setTimeout()->html轮播图

效果展示

登录页面代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录</title>
    <style>
        body{
            background: url(./images/樱花.png);
            /* 设置背景铺满 */
            background-repeat:no-repeat;
            background-size:100%;
        }
        form{            
            /* 设置form大小 */
            width: 400px;
            height: 250px;
            /* 加个背景颜色 */
            background-color: #E1E9EF;
            /* 设置透明度 */
            opacity: 80%;
            text-align: center;
            /* 再设置内边距 使得内容更偏向于中央位置 */
            /* 上方,下方内边距为120px 与 左边与右边均为100px 按照逆时针 */
            /* 但是会撑大盒子 */
            padding: 120px 100px;
            /* 设置文本文字的大小 */
            font-size: 18px;
            /* 添加圆角边框 */
            border-radius: 10px;
            /* 增加外边距 */
            /* 上下120px 然后左右居中 */
            margin: 120px auto;
        }
        .textinput{
            /* 设置宽高 */
            height: 40px;
            width: 300px;
            /* 设置内边距 */
            padding: 0 35px;
            /* 去除边框 */
            border: none;
            /* 设置背景颜色 */
            background: #F8F9F9;
            /* 设置字体大小 */
            font-size: 15px;
            /* 给文本框加上阴影 */
            box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.7), inset 0px 2px 5px #aaaaaa;
            /* 给文本框加上圆角边框 */
            border-radius: 5px;
            /* 给文本框中输入文字加上颜色 */
            color: saddlebrown;
        }
        /* 筛选input标签中 type为"submit"的 进行渲染*/
        input[type="submit"]{
            /* 设置宽高 */
            width: 110px;
            height: 40px;
            /* 内部文本居中 */
            text-align: center;
            /* 圆角边框 */
            border-radius: 5px;
            /* 设置字体 */
            font:16px "黑体";
            /* 设置背景颜色 */
            background-color: #C0C6CB;
        }
        a {
            /* 去除下划线 */
            text-decoration: none;
        }
        a:hover {
            /* 悬空的时候有被选中的样子 出现下划线*/
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <form>
        <p>用户名<br />
            <input type="text" class="textinput" placeholder="请输入用户名" />
        </p>
        <p>密码<br />
            <input type="password" class="textinput" placeholder="请输入密码" />
        </p>
        <p>
            <input id="remember" type="checkbox" /><label for="smtxt">记住密码</label>
        </p>
        <p>
            <input type="submit" value="登录" />
        </p>
        <p class="smtxt">还没有账户?<a href="注册界面.html">注册</a></a>
        </p>
    </form>
</body>
</html>

添加JS逻辑

<script>
        // 定义图片资源数组
        var imgs = ["images/1.jpg","images/2.jpg", "images/3.jpg", "images/4.jpg"]
        // 获取body元素
        // 添加自动切换背景的函数
        // 定义当前的index
        let index = 0;
        // 每隔一秒换一张背景
        setInterval(function(){
            index += 1;
            index = index % 4;
            document.body.style.background = 'url(' + this.imgs[index] + ')';            
        }, 1000);
    </script>

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录</title>
    <style>
        body{
            background: url("https://pic3.zhimg.com/v2-92879d7d6ddae16c6c880bf936a2b2ae_r.jpg");
            /* 设置背景铺满 */
            background-repeat:no-repeat;
            background-size:100%;
        }
        form{            
            /* 设置form大小 */
            width: 400px;
            height: 250px;
            /* 加个背景颜色 */
            background-color: #E1E9EF;
            /* 设置透明度 */
            opacity: 80%;
            text-align: center;
            /* 再设置内边距 使得内容更偏向于中央位置 */
            /* 上方,下方内边距为120px 与 左边与右边均为100px 按照逆时针 */
            /* 但是会撑大盒子 */
            padding: 120px 100px;
            /* 设置文本文字的大小 */
            font-size: 18px;
            /* 添加圆角边框 */
            border-radius: 10px;
            /* 增加外边距 */
            /* 上下120px 然后左右居中 */
            margin: 120px auto;
        }
        .textinput{
            /* 设置宽高 */
            height: 40px;
            width: 300px;
            /* 设置内边距 */
            padding: 0 35px;
            /* 去除边框 */
            border: none;
            /* 设置背景颜色 */
            background: #F8F9F9;
            /* 设置字体大小 */
            font-size: 15px;
            /* 给文本框加上阴影 */
            box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.7), inset 0px 2px 5px #aaaaaa;
            /* 给文本框加上圆角边框 */
            border-radius: 5px;
            /* 给文本框中输入文字加上颜色 */
            color: saddlebrown;
        }
        /* 筛选input标签中 type为"submit"的 进行渲染*/
        input[type="submit"]{
            /* 设置宽高 */
            width: 110px;
            height: 40px;
            /* 内部文本居中 */
            text-align: center;
            /* 圆角边框 */
            border-radius: 5px;
            /* 设置字体 */
            font:16px "黑体";
            /* 设置背景颜色 */
            background-color: #C0C6CB;
        }
        a {
            /* 去除下划线 */
            text-decoration: none;
        }
        a:hover {
            /* 悬空的时候有被选中的样子 出现下划线*/
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <form>
        <p>用户名<br />
            <input type="text" class="textinput" placeholder="请输入用户名" />
        </p>
        <p>密码<br />
            <input type="password" class="textinput" placeholder="请输入密码" />
        </p>
        <p>
            <input id="remember" type="checkbox" /><label for="smtxt">记住密码</label>
        </p>
        <p>
            <input type="submit" value="登录" />
        </p>
        <p class="smtxt">还没有账户?<a href="注册界面.html">注册</a></a>
        </p>
    </form>
    <script>
        // 定义图片资源数组
        var imgs = ["images/1.jpg","images/2.jpg", "images/3.jpg", "images/4.jpg"]
        // 获取body元素
        // 添加自动切换背景的函数
        // 定义当前的index
        let index = 0;
        // 每隔一秒换一张背景
        setInterval(function(){
            index += 1;
            index = index % 4;
            document.body.style.background = 'url(' + this.imgs[index] + ')';            
        }, 1000);
    </script>
</body>
</html>
相关文章
|
1月前
|
人工智能 自然语言处理 Apache
有哪些类似 Danswer 的开源问答系统?
本文介绍了五款开源问答系统:Apache Answer适合团队知识沉淀;QAnything可将杂乱文档变为可对话的知识库;Haystack适合作为企业级问答中台基础;KoalaQA聚焦售后与智能客服场景;Khoj则是个人AI知识助手。选择时需根据使用场景、技术投入与团队需求匹配,系统落地后更需持续运营才能真正发挥作用。
142 0
|
存储
base64图片是什么?原理、优缺点是什么?
base64图片是什么?原理、优缺点是什么?
836 0
|
6月前
|
容器
45.[HarmonyOS NEXT RelativeContainer案例二] 精确控制组件间距:外边距在相对布局中的高级应用
在HarmonyOS NEXT的UI开发中,组件之间的间距控制对于创建美观、易用的界面至关重要。RelativeContainer不仅提供了强大的锚点定位系统,还可以结合外边距(margin)属性实现更精细的布局控制。本教程将详细讲解如何在RelativeContainer中巧妙运用外边距,帮助你掌握这一实用技巧。
174 29
|
5月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
11月前
|
人工智能 vr&ar
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
PSHuman 是一种先进的单图像3D人像重建技术,仅需一张照片即可生成高度逼真的3D模型,支持面部细节、全身姿态和纹理恢复,适用于影视、游戏、虚拟现实等多个领域。
1483 4
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
|
机器学习/深度学习 传感器 人工智能
深度学习之自主学习和任务规划
基于深度学习的自主学习和任务规划,是指通过深度学习算法使人工智能(AI)系统能够自主地从环境中学习,并根据特定的目标和任务,规划出有效的解决方案。
566 3
|
数据采集 Web App开发 JavaScript
Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容
本文介绍了如何使用Selenium爬虫技术抓取抖音评论,通过模拟鼠标悬停操作和结合代理IP、Cookie及User-Agent设置,有效应对动态内容加载和反爬机制。代码示例展示了具体实现步骤,帮助读者掌握这一实用技能。
605 0
Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容
|
IDE API 开发工具
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
Alibaba Cloud API Toolkit for VSCode 是集成了 OpenAPI 开发者门户多项功能的 VSCode 插件,开发者可以通过这个插件方便地查找API文档、进行API调试、插入SDK代码,并配置基础环境设置。我们的目标是缩短开发者在门户和IDE之间的频繁切换,实现API信息和开发流程的无缝结合,让开发者的工作变得更加高效和紧密。
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
|
运维 监控 安全
Docker的优点
Docker的优点
745 1
|
Ubuntu 机器人 网络安全
ubuntu22.04 SSH和ROS2控制下位机
本文介绍了如何在Ubuntu 22.04系统中通过SSH远程控制机器人服务器,包括安装SSH服务、配置防火墙规则、修改`/etc/hosts`文件、使用密钥认证等步骤,并提供了使用ROS2控制下位机的方法和一些常用指令。
532 0