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

代码:

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>

效果图:

相关推荐
发现一只大呆瓜4 分钟前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
m0_719084111 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录1 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n1 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n1 小时前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
我是一只puppy1 小时前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
颜酱1 小时前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
狗哥哥2 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫2 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘3 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js