JS实现漂亮的登录页面(氛围感页面)

news/2024/11/5 17:53:42 标签: javascript, 前端, css

代码:

javascript"><!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录</title>
    <style>
        body{
            background-color: #ece9f0;
        }
        .box{
            width: 800px;
            height: 300px;
            margin: 0 auto;
            margin-top: 20px;
            box-shadow: 0px 0px 20px black;
            background-color: #c8e0c8;
            padding-top: 30px;
            text-align: center;
            font-size: 18px;
        }
  
       label{
            display: inline-block;
            width: 80px;
       }
       .msg{
            margin-top: 20px;
       }
       input{
            height: 20px;
            border: 0;
       }
       input::placeholder{
            color: #f7c7d9;
       }
       .zc{
            font-size: 30px;
            font-weight: bold;
       }
       .djzc{
            color: skyblue;
            border: 0;
            font-weight: bold;
            width: 80px;
            height: 30px;
       }
    </style> 
</head>
<body>
    <div class="box">
       <div class="zc">登录页</div>
       <div class="msg">
            <label class="yhm">用户名:</label><input type="text" placeholder="请输入用户名">
       </div>
       
       <div class="msg">
            <label class="pwd">密码:</label><input type="password" placeholder="请输入密码">
       </div>
       
       <div class="msg">
            <button class="djzc" onclick="registerfun()">点击登录</button>
       </div>
       
    </div>
    <script src="https://api.vvhan.com/api/script/snow"></script>
    <script src="https://api.vvhan.com/api/script/bolang"></script>
    <script src="https://api.vvhan.com/api/script/yinghua"></script>
    <script src="https://api.vvhan.com/api/script/yinghua"></script>
    <script src="https://api.vvhan.com/api/script/denglong"></script>
    <script>
        let box = document.querySelector('.box')
        let zc = document.querySelector('.zc')
        let yhm = document.querySelector('.yhm')
        let pwd = document.querySelector('.pwd')


        setInterval(()=>{
            box.style.boxShadow=`0px 0px 20px rgb(${sj()},${sj()},${sj()})`
            zc.style.color=`rgb(${sj()},${sj()},${sj()})`
            yhm.style.color=`rgb(${sj()},${sj()},${sj()})`
            pwd.style.color=`rgb(${sj()},${sj()},${sj()})`
            zc.style.textShadow=` 0px 0px 10px rgb(${sj()},${sj()},${sj()})`
        },1000)
        function sj(){
            return Math.floor(Math.random()*255)
        }
         // 点击之后的注册方法
         function registerfun(params) {
             // 获取输入框的内容
            let user_name = document.querySelectorAll('input')[0].value
            let password = document.querySelectorAll('input')[1].value
            // 准备ajax向后端发送数据
            let xhr = new XMLHttpRequest()
            // 请求方式和请求地址
            xhr.open('post','http://api.poiuy.top/users/login')
            xhr.setRequestHeader('Content-type','application/json')
            xhr.send(JSON.stringify({
                user_name,
                password,
            }))
            xhr.onload= function(params) {
                let data = JSON.parse(xhr.responseText);
                let token = data.result.token
                    console.log(token);
                localStorage.setItem('token',token)
                    // 判断状态码
                    // 如果是0代表成功 跳转到登陆
                if (data.code==0) {
                    alert('登录成功,即将跳转列表页')
                    location.href = 'list.html'
                }else{
                    // 否则提示错误信息
                    alert(data.message)
                }  
            }  
        }
        
       
  
    </script>
</body>
</html>

效果图:


http://www.niftyadmin.cn/n/5739727.html

相关文章

Unity之一文搞懂Tilemap如何使用

文章目录 前言入门使用准备项目准备和设置精灵创建一个 TilePalette创建图块资源创建Tilemap相关的游戏对象绘制瓷砖地图Sprite 概述及其设置精灵分裂每单位像素设置创建 SpriteAtlasTile 瓷砖Tile资产相关元素介绍相关类型TileBase 类的虚拟方法如何创建 Tile 资源关于 Pipeli…

记录一次node节点异常的排查

场景&#xff1a;运维同事反馈&#xff0c;在部署服务的时候&#xff0c;云上的k8s的node节点突然异常了&#xff0c;而且是3个节点同时异常了。当时开发人员正在部署服务&#xff0c;并没有做其他的操作。而且之前3个node节点也没有异常现象&#xff0c;查看运维管理的事件中心…

平安养老险蚌埠中支开展敬老月金融知识宣传活动

近日&#xff0c;平安养老保险股份有限公司&#xff08;以下简称“平安养老险”&#xff09;蚌埠中心支公司走进蚌埠老年人户外活动中心——珠园&#xff0c;开展2024年“敬老月”金融知识宣传活动。本次活动以“坚持以老年人为中心&#xff0c;构建老年友好型社会”为主题&…

【Linux】网络编程:应用层协议—HTTP协议

目录 一、HTTP协议概念 HTTP协议的基本概念 HTTP的工作流程 二、认识URL URL 的基本结构 URLencode与URLdecode 三、认识HTTP协议 四、HTTP请求格式 1. 请求行&#xff08;Request Line&#xff09; 2. 请求报头&#xff08;Request Headers&#xff09; 3. 空行&a…

头歌——数据库系统原理(数据高级查询实验1)

文章目录 带 WHERE 子句的多表查询代码 内连接查询代码 外连接查询代码 带 WHERE 子句的多表查询 理解连接 SQL 最强大的功能之一&#xff0c;就是能使用数据检索语句来连接多张数据表。 连接 (Join) 是使用数据库时最重要的操作&#xff0c;所以理解什么情况下&#xff0c;能…

【VScode】中文版ChatGPT编程工具-CodeMoss!教程+示例+快捷键

文章目录 1. 多模型选择2. 编辑快捷键3. 历史记录收藏 CodeMoss使用教程1. 安装CodeMoss插件2. 配置AI模型3. 使用快捷键4. 进行代码优化与解释5. 收藏历史记录 总结与展望 在当今快速发展的编程世界中&#xff0c;开发者们面临着越来越多的挑战。如何提高编程效率&#xff0c;…

微服务系列四:热更新措施与配置共享

目录 前言 一、基于Nacos的管理中心整体方案 二、配置共享动态维护 2.1 分析哪些配置可拆&#xff0c;需要动态提供哪些参数 2.2 在nacos 分别创建共享配置 创建jdbc相关配置文件 创建日志相关配置文件 创建接口文档配置文件 2.3 拉取本地合并配置文件 2.3.1 拉取出现…

GPT-SoVITS 部署方案

简介 当前主流的开源TTS框架&#xff0c;这里介绍部署该服务的主要流程和我在使用过程中出现的问题。 使用的技术 Docker、Jupyter、Python、C# 部署 docker的使用 拉取命令 docker pull jupyter/base-notebook:python-3.10.11jupyter的访问 docker运行以后可以直接使用…