web前端第三次作业

题目

本期作业
WEB第三次作业
请使用JS实一个网页中登录窗口的显示/隐藏,页面中拖动移动,并且添加了边界判断的网页效

代码图片

效果展示

代码

<!DOCTYPE html>

<html lang="zh">

<head>

    <meta charset="UTF-8">

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

    <title>Document</title>

</head>

<style>

    *{

        margin: 0;padding: 0;box-sizing: border-box;}

        html,body{width: 100%;height: 100%;}

        .container{width: 100%;height: 100%;background-color: #f2f1f2f2;}

        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-last-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>

<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.οnclick=function() {

            _login_box.style.display ="block";        

        }

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

        _close.οnclick=function( ){

            _login_box.style.display="none";

        }

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

        document.οnmοusedοwn= function(event){

            let offsetX =event.offsetX;

            let offsetY =event.offsetY;

            _header.οnmοusemοve=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.οnmοuseup=function(){

            _header.οnmοusemοve=null;

        }

    </script>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18129.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【进阶】MySQL高级篇超详讲解!!!

Mysql服务器内部架构&#xff08;了解&#xff09; 连接层 负责客户端的链接&#xff0c;验证账号密码等授权认证 服务层 对sql进行解析&#xff0c;优化&#xff0c;调用函数&#xff0c;如果是查询操作&#xff0c;有没有缓存等操作。 引擎层 是真正负责数据存储和提取…

数据预处理都做什么,用什么工具

数据预处理是数据分析、数据挖掘和机器学习中的关键步骤&#xff0c;其目的是将原始数据转换为适合后续分析或建模的格式。以下是关于数据预处理的主要内容及常用工具的详细介绍&#xff1a; 一、数据预处理的主要任务 数据预处理的主要任务包括以下几个方面&#xff1a; 数据…

#渗透测试#批量漏洞挖掘#AJ-Report开源数据大屏存在远程命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、架构解析 技术栈组成: 二、核心功能…

VS2022+OpenVINO的开发环境配置

一、OpenVINO OpenVINO&#xff08;Open Visual Inference and Neural Networks&#xff09;是英特尔公司为开发者提供的一款开源AI工具包&#xff0c;主要用于加速和优化深度学习模型的推理性能。它通过提供高效且轻量级的推理引擎&#xff0c;帮助用户快速部署复杂的视觉任务…

CPT205 计算机图形学 OpenGL 3D实践(CW2)

文章目录 1. 介绍2. 设计3. 准备阶段4. 角色构建5. 场景构建6. 交互部分6.1 键盘交互6.2 鼠标交互6.3 鼠标点击出多级菜单进行交互 7. 缺点与问题7.1 程序bug7.2 游戏乐趣不足7.3 画面不够好看 8. 完整代码 1. 介绍 前面已经分享过了关于CPT205的CW1的2D作业&#xff0c;这次C…

ChatGPT搜索免费开放:AI搜索引擎挑战谷歌霸主地位全面分析

引言 2025年2月6日&#xff0c;OpenAI宣布ChatGPT搜索功能向所有用户免费开放&#xff0c;且无需注册登录。这一重大举措在搜索引擎行业引发巨大反响&#xff0c;有观点认为"谷歌搜索时代即将结束"。本文将深入分析ChatGPT生成式AI搜索对谷歌搜索业务及全球搜索市场…

CEF132编译指南 MacOS 篇 - 获取 CEF 源码 (五)

1. 引言 在完成了所有必要工具的安装和配置之后&#xff0c;我们正式进入获取 CEF132 源码的阶段。对于 macOS 平台&#xff0c;CEF 的源码获取过程需要特别注意不同芯片架构&#xff08;Intel 和 Apple Silicon&#xff09;的区别以及版本管理。本篇将作为 CEF132 编译指南系…

verilog练习:8bit移位寄存器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1. 概述2.代码 前言 ​ 这个练习是module_shift的扩展。模块端口不再是单一的引脚&#xff0c;我们现在有了以矢量为端口的模块&#xff0c;你可以将连线矢量连…

一种微波场刺激器系统介绍

该文档是美国专利申请公开文件&#xff0c;主要介绍了一种微波场刺激器系统&#xff0c;用于对神经组织进行电刺激治疗。这种系统通过无线传输能量和信号&#xff0c;实现对植入式无源神经刺激器的控制和监测&#xff0c;为慢性疾病的神经调节治疗提供了新的技术手段。 背景与…

【实战AI】利用deepseek 在mac本地部署搭建个人知识库

之前的文章中实现了本地通过ollma 部署deepseek R1&#xff1a;14b 模型&#xff0c;这里我想继续实现个人知识库&#xff0c;方便自己文档&#xff0c;数据的检索&#xff1b; 下载anythingLLM 地址&#xff1a; https://anythingllm.com/desktop 下载安装即可&#xff1b…

报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant

与 TEN 相聚在「LET’S VISION 2025」大会&#xff0c;欢迎来展位上跟我们交流。这次我们还准备了一场聚焦「computer use」的工作坊&#xff0c;功能新鲜上线&#xff0c;线下首波体验&#xff01; &#x1f4c5; TEN 展位&#xff1a;2025年3月1日-2日 TEN workshop&#x…

日常故障排查 - Linux常用命令

系统负载相关 top命令 使用top命令可以查看正在运行的系统中的动态实时视图信息&#xff0c;显示系统摘要信息&#xff0c;以及Linux内核当前正在管理的任务列表。其支持静态输出&#xff0c;也支持交互式输出&#xff0c;还可以在启动之前读取响应的配置文件来决定如何显示进…

C++算法竞赛基础语法-9

快速排序是一种高效的排序算法&#xff0c;由C. A. R. Hoare在1960年提出&#xff0c;基本思想是分治法&#xff08;Divide and Conquer&#xff09;策略&#xff0c;通过递归将一个大问题分解为若干个较小的子问题&#xff0c;然后合并这些子问题的解来解决原始问题 快速排序…

如何在 Elasticsearch 中设置向量搜索 - 第二部分

作者&#xff1a;来自 Elastic Valentin Crettaz 了解如何在 Elasticsearch 中设置向量搜索并执行 k-NN 搜索。 本文是三篇系列文章中的第二篇&#xff0c;深入探讨了向量搜索&#xff08;也称为语义搜索&#xff09;的复杂性以及它在 Elasticsearch 中的实现方式。 第一部分重…

【算法专场】哈希表

目录 前言 哈希表 1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 算法分析 算法代码 面试题 01.02. 判定是否互为字符重排 ​编辑算法分析 算法代码 217. 存在重复元素 算法分析 算法代码 219. 存在重复元素 II 算法分析 算法代码 解法二 算法代码 算法…

cpu温度多少正常?cpu温度过高怎么办

CPU温度是指中央处理器的工作温度&#xff0c;它是影响电脑性能和稳定性的重要因素。如果CPU温度过高&#xff0c;会导致电脑卡顿、死机、自动关机、甚至损坏CPU。因此&#xff0c;了解CPU温度的正常范围和降温的方法&#xff0c;对于保护电脑和提高效率是非常有必要的。 一、C…

Git指南-从入门到精通

代码提交和同步命令 流程图如下&#xff1a; 第零步: 工作区与仓库保持一致第一步: 文件增删改&#xff0c;变为已修改状态第二步: git add &#xff0c;变为已暂存状态 bash $ git status $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ g…

盛铂科技 SCP4006/4018/4040:国产袖珍式功率计 射频微波功率探头 平均功率计

在通信、电子测量等领域&#xff0c;功率计是确保信号稳定、系统高效运行的关键设备。盛铂科技自主研发的 SCP4000 系列自带 USB 接口的袖珍式 CW 信号平均功率计&#xff0c;以其卓越的性能、高性价比和便捷的操作&#xff0c;在众多同类产品中脱颖而出&#xff0c;成为行业内…

IntelliJ IDEA 2024.1.4版无Tomcat配置

IntelliJ IDEA 2024.1.4 (Ultimate Edition) 安装完成后&#xff0c;调试项目发现找不到Tomcat服务&#xff1a; 按照常规操作添加&#xff0c;发现服务插件中没有Tomcat。。。 解决方法 1、找到IDE设置窗口 2、点击Plugins按钮&#xff0c;进入插件窗口&#xff0c;搜索T…

【个人开发】deepseed+Llama-factory 本地数据多卡Lora微调

文章目录 1.背景2.微调方式2.1 关键环境版本信息2.2 步骤2.2.1 下载llama-factory2.2.2 准备数据集2.2.3 微调模式2.2.4 微调脚本 2.3 踩坑经验2.3.1 问题一&#xff1a;ValueError: Undefined dataset xxxx in dataset_info.json.2.3.2 问题二&#xff1a; ValueError: Target…