web第三次作业

弹窗案例

1.首页代码

html 复制代码
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>综合案例</title>

    <style>

        *{

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }

        html,body{

            width: 100%;

            height: 100%;

        }

        .container{

            width: 100%;

            height: 100%;

            background-color: #f2f1f2;

        }

        header{

            width: 1200px;

            height: 50px;

            background-color: #fff;

            margin: 0 auto;

            display: flex;

            justify-content: space-between;

            align-items: center;

        }

        header div:nth-of-type(2){

            display: flex;

            gap: 20px;

            cursor: pointer;

        }

        header div:nth-of-type(2) span:hover{

            font-weight: bolder;

            color: red;

        }

        .login-box{

            display: none;    

            overflow: hidden;

            width: 300px;

            height: 200px;

            background-color: #fff;

            border: solid 1px orangered;

            border-radius: 8px;

            box-shadow: rgba(255,0,0,0.5) 5px 5px 5px;

            position: absolute;

            left: 1150px;

            top: 50px;

        }

        .login-box .header{

            height: 40px;

            background-color: orangered;

            display: flex;

            justify-content: space-between;

            align-items: center;

            color: white;

            cursor: pointer;

            padding: 0 10px;

        }

    </style>

</head>

<body>

    <div class="container">

        <header>

            <div>

                <span>欢迎访问OPENLAB EDU</span>

            </div>

            <div>

                <span id="login">登录</span>

                <span id="register">注册</span>

            </div>

            <div class="login-box" id="login-box">

                <div class="header" id="header">

                    <span>会员登录</span>

                    <span id="close">[关闭]</span>

                </div>

            </div>

        </header>

    </div>



    <script>

        let _login=document.getElementById("login");

        let _login_box=document.getElementById("login-box");



        _login.onclick=function(){

            _login_box.style.display="block";

        }



        let _close=document.getElementById("close");

        _close.onclick=function(){

            _login_box.style.display="none";

        }



        let _header=document.getElementById("header");



        document.onmousedown=function(event){

            let offsetX=event.offsetX;

            let offsetY=event.offsetY;



            _header.onmousemove=function(event2){

                let mouseX=event2.clientX;

                let mouseY=event2.clientY;



                let loginX=mouseX-offsetX;

                let loginY=mouseY-offsetY;



                if(loginX<=0){

                    loginX=0;

                }

                if(loginY<=0){

                    loginY=0;

                }



                let iw=window.innerWidth;

                let lw=getComputedStyle(_login_box).width;

                lw=parseInt(lw);

                if(loginX>=(iw-lw)){

                    loginX=iw-lw;

                }

                let ih=window.innerHeight;

                let lh=getComputedStyle(_login_box).height;

                lh=parseInt(lh);

                if(loginY>=(ih-lh)){

                    loginY=ih-lh;

                }



                _login_box.style.left=loginX+"px";

                _login_box.style.top=loginY+"px";

            }

        }

        document.onmouseup=function(){

            _header.onmousemove=null;

        }

    </script>

</body>

</html>

2.展示效果

相关推荐
benbenAItalk3 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_962885723 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
西瓜太郎12344 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
多加点辣也没关系4 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
陈随易6 小时前
在Finch用了62亿词元,我认为这是新一代Agent工具之神
前端·人工智能·后端
水域安全老周6 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师7 小时前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing987 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
Highcharts.js7 小时前
常见报错排雷指南2:导出失败的官方解法
javascript·react.js·ecmascript·highcharts·可视化图表·导出模块失败·导出服务
EatFan7 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app