小米官网登录注册的滑动效果

小米官网登录注册的滑动效果

登录组成页面

            <div class="client"><div class="userbox"><div class="title"><a href="javascript:;" class="active" id="DL">登录</a><a    href="javascript:;"  id="ZC">注册</a></div><div class="rebox" style="display: flex;"><div class="register r1"><form id="loginForm" action="#"><input type="text" name="username" id="username" placeholder="邮箱/手机号码/小米ID" required><span class="error" id="er">请输入账号</span><div id="pswbox"><input type="password" name="psw" id="psw" placeholder="密码" required><i class="glyphicon glyphicon-eye-close icon3"></i><span class="error" id="err">请输入登录密码</span></div><p><input type="checkbox" name="" id="checkbox"><span>已阅读并同意小米账号<a href="#"> 用户协议 </a><a href="#">隐私政策</a></span></p><input type="submit" id="submit" value="登录"></form><div class="zh"><a href="#">忘记密码?</a><a href="#">手机号登录</a></div><p class="other">其他方式登录</p><ul style="list-style-type: none; /* 移除列表项的默认样式(小圆点)*/"><li><a href=""><img src="./image/images/zfb.png" alt=""></a></li><li><a href=""><img src="./image/images/vx.png" alt=""></a></li><li><a href=""><img src="./image/images/QQ.png" alt=""></a></li><li><a href=""><img src="./image/images/wb.png" alt=""></a></li></ul></div><div class="register" style="margin-left: 80px;"><form action="#"><div class="gj"><input type="text" id="selectedCountry" placeholder="国家/地区"><i class="icon4"></i><div class="gj_name"><div class="fdj"><input type="search" placeholder="搜索国家/地区名称" id="gj_search"><i class="glyphicon glyphicon-search icon5"></i></div><ul class="country "  style="list-style-type: none; /* 移除列表项的默认样式(小圆点)*/"><li>佛得角</li><li>开曼群岛</li><li>中非</li><li>乍得</li><li>智利</li><li>中国</li><li>圣诞岛</li><li>哥伦比亚</li></ul></div></div><input type="text" placeholder="国家码" id="gjm"><span class="error" id="erro">请输入手机号码</span><div class="yzm"><input type="text" placeholder="短信验证码" id="yzm"><a href="#" class="info">获取验证码</a><span class="error" id="eryzm">请输入短信验证码</span></div><p><input type="checkbox" name="" id="checkbox"><span>已阅读并同意小米账号<a href="#"> 用户协议 </a><a href="#">隐私政策</a></span></p><input type="submit" id="sub" value="注册"><div class="zh"><a href="#">收不到验证码?</a></div><p class="other">其他方式登录</p><ul style="list-style-type: none; /* 移除列表项的默认样式(小圆点)*/"><li><a href=""><img src="./image/images/zfb.png" alt=""></a></li><li><a href=""><img src="./image/images/vx.png" alt=""></a></li><li><a href=""><img src="./image/images/QQ.png" alt=""></a></li><li><a href=""><img src="./image/images/wb.png" alt=""></a></li></ul></div></div></div><div class="erweima"><div class="glyphicon glyphicon-qrcode ewm"></div></div></div>

如图

在这里插入图片描述在这里插入图片描述

点击注册的时候可以滑动到注册里面,这里可以使用把他使用display:flex包裹住一个大的div,里面有一个登录div,还有一个注册div,然后设置登录与注册之间的外边距调整他们的距离,然后再使用js绑定事件,进行移动,js代码为

var zc = document.getElementById("ZC");
var dl = document.getElementById("DL");
var rebox = document.querySelector('.rebox');zc.addEventListener("click", function() {zc.style.borderBottom = '3px solid #ff5c00';dl.style.borderBottom = 'none';animateLeft(rebox, -500, function() {console.log('注册页面移动完成');});});dl.addEventListener("click", function() {dl.style.borderBottom = '3px solid #ff5c00';zc.style.borderBottom = 'none';animateLeft(rebox, 0, function() {});
});function animateLeft(obj, target, callback) {clearInterval(obj.timer);obj.timer = setInterval(function() {var step = (target - obj.offsetLeft) / 10;step = step > 0 ? Math.ceil(step) : Math.floor(step);if (obj.offsetLeft == target) {clearInterval(obj.timer);callback && callback();}obj.style.left = obj.offsetLeft + step + 'px';}, 15);
}

首先通过document.getElementById和document.querySelector获取到页面中的注册按钮、登录按钮和包含注册登录内容的容器元素。

给注册按钮和登录按钮分别添加点击事件监听器,当点击注册按钮时,注册按钮底部加粗显示,登录按钮取消底部加粗显示,并通过animateLeft函数将包含注册登录内容的容器元素向左移动500px,达到切换效果;当点击登录按钮时,登录按钮底部加粗显示,注册按钮取消底部加粗显示,并通过animateLeft函数将包含注册登录内容的容器元素移动回原位0px。

animateLeft函数用于实现元素的动画移动效果,通过设置定时器不断更新元素的left属性值,直到达到目标位置时清除定时器并执行回调函数。

  • 注意
  1. 如果有多显示的内容,或者显示不足,就是登录和注册之间的两个div距离不够,这时候就需要添加他们的左右边距,比如
   <div class="register" style="margin-left: 80px;">

在第二个注册页加上左边距,加了左边距之后需要调整滑动的距离到正确的位置

比如

    animateLeft(rebox, -500, function() {console.log('注册页面移动完成');});

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

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

相关文章

Android工具adb下载安装环境配置详细教程

Android工具adb的下载安装与环境配置详细教程如下&#xff1a; 一、下载ADB ADB通常作为Android SDK的一部分提供&#xff0c;因此&#xff0c;您可以从Android开发者网站下载Android Studio&#xff0c;并在安装时选择包括ADB。 另外&#xff0c;您也可以通过官方下载地址直…

使用tui-image-editor 图片编辑 标注图片

需求背景&#xff1a; 鼠标悬浮在图片上 出现编辑按钮 点击编辑 对该图片进行编辑&#xff08;输入文案、涂鸦、标记、裁剪等&#xff09; 可以体验一下它线上编辑器 Image-editor | TOAST UI :: Make Your Web Delicious! 使用 首先在你的前端项目中安装&#xff1a; np…

高概率文字生成Stable Cascade Comfyui极简安装教程

Stable Diffisuin 2.1之前的模型的痛点是不能生成文字&#xff0c;SDXL能生成文字&#xff0c;但正确率极低。Stable Diffusion 3据说能生成高画质图的同时&#xff0c;还能正确输出文字&#xff0c;但......还不能下载到。这中间stability.ai出了一个Stable Cascade模型。工作…

Spring MVC中常用注解

文章目录 Spring MVC 框架提供了一系列注解&#xff0c;用于简化开发者的编码工作&#xff0c;并提高代码的可读性和可维护性。以下是 Spring MVC 中常用的注解&#xff1a;Controller&#xff1a;RestController&#xff1a;RequestMapping&#xff1a;PathVariable&#xff1…

dp7——博弈

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 博弈dp需要记录玩家的转换 下位01 486. 预测赢家⭐思想⭐相似题目464. 我能赢吗877. 石子游戏 博弈 dp需要记录玩家的转换 下位 01 486. 预测赢家⭐ 思想⭐ dp定义的是当前玩家 如dp[i] 代表A 则dp[i 1] 代表…

多模态大模型Claude 3正式接入集简云与语聚!对标GPT-4且支持中文

自OpenAI发布GPT-4以来&#xff0c;引发了业务模式与应用使用的巨大变革&#xff0c;掀起了各大企业对于多模态大模型的研究热潮。3月初&#xff0c;AnthropicClaude在官网正式发布Claude 3系列多模态大模型&#xff0c;据了解&#xff0c;该模型在多个维度上超越了GPT-4&#…

Open3D国内镜像源

pip install open3d -i https://mirrors.aliyun.com/pypi/simple/ 国内常用镜像源 清华大学 &#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云&#xff1a;https://mirrors.aliyun.com/pypi/simple/ 中国科学技术大学 &#xff1a;http://pypi.mirrors.ustc.edu.…

高铁列车员信息宣传向媒体投稿有哪些方法?

作为一名高铁列车工作人员,我肩负着传递高铁精神、展示列车员风采的重要使命。每月,我都要完成单位对外信息宣传的考核任务,通过媒体投稿来发表列车员的信息宣传文章。在这条信息宣传之路上,我经历了从摸着石头过河到智慧投稿的蜕变,其中的心酸与轻松交织,成为了我职业生涯中难…

在Linux中进行OpenSSH升级

由于OpenSSH有严重漏洞&#xff0c;因此需要升级OpenSSH到最新版本。 OpenSSL和OpenSSH都要更新&#xff0c;OpenSSH依赖于OpenSSL。 第一步&#xff0c;查看当前的OpenSSH服务版本。 命令&#xff1a;ssh -V 第二步&#xff0c;安装、启动telnet&#xff0c;关闭安全文件&a…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的癌症图像检测系统(深度学习模型+UI界面代码+训练数据集)

摘要&#xff1a;本篇博客深入介绍了如何借助深度学习技术开发癌症图像检测系统&#xff0c;以提高医疗诊断的精度和速度。系统基于先进的YOLOv8算法&#xff0c;并对比分析了YOLOv7、YOLOv6、YOLOv5的性能&#xff0c;如mAP和F1 Score。详细解释了YOLOv8的原理&#xff0c;并附…

2024年高校邦大学生职业生涯规划答案

2024年高校邦大学生职业生涯规划答案 2024年高校邦——大学生职业生涯规划答案 第一章 1多选 大学教育的价值是什么&#xff1f; A.丰富知识 B.完善人格 C.为未来的生活打下坚实基础 D.读研 答案&#xff1a;ABC 2单选 以下哪种不属于职业生涯规划的步骤&#xff1f…

如何设计一个高并发的系统--简谈

设计一个高并发系统可以从下面这些角度来考虑。 所谓设计高并发系统&#xff0c;就是设计一个系统&#xff0c;保证它整体可用的同时&#xff0c;能够处理很高的并发用户请求&#xff0c;能够承受很大的流量冲击。 我们要设计高并发的系统&#xff0c;那就需要处理好一些常见…

PHP过滤Emoji表情和特殊符号的方法

在PHP中&#xff0c;过滤掉昵称中的表情和特殊符号通常可以通过正则表达式来实现。PHP中的preg_replace函数可以使用正则表达式来搜索和替换字符串中的内容。 以下是一个例子&#xff0c;展示了如何移除字符串中的Emoji和特殊符号&#xff1a; function removeEmojiAndSpec…

Linux 命令或者一些工具

locale – 设置和显示程序运行的语言环境 locale -a | grep en_US.UTF-8.sudo locale-gen en_US.UTF-8sudo dpkg-reconfigure localesexpect 常用命令总结 expect命令spawnexpectsendexp_continuesend_userexit chrpath工具 chrpath 是一个用于修改可执行文件或共享库的运行…

JVM是如何运行的

JVM&#xff08;Java Virtual Machine&#xff0c;Java虚拟机&#xff09;是 Java 程序的运行环境&#xff0c;它负责将 Java 字节码翻译成机器代码并执行。也就是说 Java 代码之所以能够运行&#xff0c;主要是依靠 JVM 来实现的。 JVM 整体的大概执行流程是这样的&#xff1…

国产AI视频技术迎来新成员Etna,4K 60帧 15秒超高清视频

国内AI视频技术领域传来好消息&#xff0c;一款名为Etna的AI视频生成工具引起了业界的广泛关注。这款由七火山公司开发的技术&#xff0c;号称能够实现15秒4K 60帧的超高清视频生成&#xff0c;让人眼前一亮&#xff01; &#x1f680; 国产技术的崛起 Etna的问世&#xff0c;…

C++高级面试题:解释 C++ 中的行为参数化(Behavioral Parameterization)

解释 C 中的行为参数化&#xff08;Behavioral Parameterization&#xff09; 行为参数化是一种编程模式&#xff0c;它允许在运行时动态地指定算法或函数的行为。在 C 中&#xff0c;行为参数化通常通过函数指针、函数对象&#xff08;Functors&#xff09;、Lambda 表达式等…

DLT算法求解单应性矩阵

DLT算法求解单应性矩阵 原理&#xff1a; 单应性矩阵描述了两个图像之间的投影变换关系&#xff0c;即从一张图到另一张图的变换。 下面是DLT算法的基本原理&#xff1a; 构建投影方程&#xff1a; 对于两个图像中的对应点 ( x , y , 1 ) (x, y, 1) (x,y,1) 和 ( u , v ,…

【JS】JavaScript 中 this 关键字

JavaScript 中 this 关键字 this 是什么this 的绑定规则this 的指向 this 是什么 this 是一个关键字&#xff0c;能够在函数执行过程中访问运行环境&#xff0c;它的值根据函数的调用方式和上下文而变化&#xff0c;所以 this 是动态的&#xff0c;动态指向当前函数的运行环境…

Lazada全托管是什么?Lazada全托管ERP哪个好用?

做工厂及拥有自有品牌的你&#xff0c;是否因为跨境的头程费用、仓储费用、尾程费用如何结算而烦恼&#xff1f;是否因为不懂市场、不懂运营、不够专业而对跨境电商领域望而却步&#xff1f;那么&#xff0c;你或许可以尝试全托管。 一、什么是全托管 全托管是近两年电商领域…