Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端Demo|实现tab标签切换的登录页面|适合学习前端三件套的同学

前端Demo|实现tab标签切换的登录页面|适合学习前端三件套的同学

作者头像
微笑的小小刀
发布于 2022-04-12 07:38:49
发布于 2022-04-12 07:38:49
1.2K02
代码可运行
举报
文章被收录于专栏:java技术大本营java技术大本营
运行总次数:2
代码可运行

学习了这么多天

我们来做个小练习

下面是预计达到的效果

点击登录会出现登录界面

注册则会出现注册的界面

我们的做界面设计的大致思路

等到写完,再做一些调试

下面是完整代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>运用JavaScript实现的动态页面</title>
    <style>
        /* Reset(重置)浏览器默认样式 */
        *{
            margin: 0;
            padding: 0;
        }
        body{
            background: url("IMG_0275.JPG");
            background-size: cover;
            /* 背景图全覆盖 */
        }
        .work{
            opacity: 0.9;
            filter:alpha(opacity=90);
            /* opacity或者alpha的值强调的是不透明度 */
            width: 340px;
            background: white;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            /* 设置top:50%,left:50%,然后使用transform来向左向上平移半个内元素的宽和高 */
            border-radius: 5px;

        }
        .item{
            width: 340px;
            height: 60px;
            background: #eeeeee;
        }
        .item div{
            width: 170px;
            height: 60px;
            display: inline-block;
            color: black;
            font-size: 18px;
            text-align: center;
            line-height: 60px;
            cursor: pointer;
        }
        .content{
            width: 100%;
        }
        .content div{
            margin: 20px 30px;
            display: none;
            text-align: left;
        }
        .content p{
            color: #4a4a4a;
            margin-top: 30px;
            margin-bottom: 6px;
            font-size: 15px;
        }
        .content input[type="text"],.content input[type="password"]{
            width: 100%;
            height: 40px;
            border-radius: 3px;
            border:1px solid #adadad;
            padding: 0 10px;
            box-sizing: border-box;
        }
        .content input[type="submit"]{
            margin-top: 40px;
            width:100%;
            height: 40px;
            border-radius: 5px;
            color:white;
            border:1px solid #adadad;
            background: #00dd60;
            cursor: pointer;
            letter-spacing: 4px;
            margin-bottom: 40px;
        }
        .active{
            background: white;
        }
        .item div:hover{
            background:#f6f6f6;

        }
        .item{
            display:flex;
        }
</style>
</head>

<body>
    <div class="work" >
        <!-- 登录与注册页面切换 -->
        <div class="item">
            <div class="active">登录</div><div>注册</div>
        </div>
        <div class="content">
            <!-- 登录页面 -->
            <div style="display: block;">
                <p>账号</p>
                <input type="text" placeholder="username">
                <p>密码</p>
                <input type="password" placeholder="password">
                <br>
                <input type="submit" value="登录">
            </div>
        <!-- 注册页面 -->
            <div>
                <p>用户名</p>
                <input type="text" placeholder="username">
                <p>密码</p>
                <input type="password" placeholder="password">
                <p>邮箱</p>
                <input type="text" placeholder="email">
                <br>
                <input type="submit" value="注册">
            </div>
        </div>
    </div>
</body>
<script>
    // 实现tab标签切换
    window.onload=function(){
        var item=document.getElementsByClassName("item");
        var it=item[0].getElementsByTagName("div");
        var content=document.getElementsByClassName("content");
        var con=content[0].getElementsByTagName("div");
        for(let i=0;i<it.length;i++){
            //要为每一个盒子绑定事件,所以用到了for循环
            it[i].onclick=function(){
                for(let j=0;j<it.length;j++){
                    it[j].className='';
                    con[j].style.display="none";
                    // 隐藏未点击的盒子
                }
                this.className="active";
                // 点击的那个盒子添加指定类名
                it[i].index=i;
                //循环把i的值赋值给it的index
                con[i].style.display="block";
                //根据索引显示相应的div
            }
        }
    }
</script>
</html>

知识点总结

CSS

1.display:inline-block

不设置宽度时,内容撑开宽度;不会独占一行,支持宽高,代码换行被解析成空格,总而言之,inline-block包含了行内元素和块内元素的特点,即设置了inline-block属性的元素既拥有了block元素可以设置width和height的特性,又保持了inline元素不换行的特性。

2.display:none

可以隐藏我们需要藏起来的区域,我们点击“登录界面”时,“注册界面”就是这么被隐藏起来的。

3.display:block

使用后此元素将显示为块级元素,前后会带有换行符;

块级元素特点:总是以一个块的形式表现出来,占领一整行。若干同级块元素会从上之下依次排列(使用float属性除外)。

4.box-sizing: border-box

在了解它之前,我们先要知道盒子模型是什么。

盒子模型是指:外边距(margin)+ border(边框) + 内边距(padding)+ content(内容)可以把每一个容器,比如div,都看做是一个盒子模型。

比如,我们给一个div设置的宽高为500px,但实际你设置的只是content,之后你又设置了padding:10px;border:1px solid red;这时div的宽高就会变为522px (content 500px + padding 20px + border 2px),相当于一个元素的实际宽高是由:padding + border + content 组成。加了box-sizing:border-box属性,padding和border的值就不会在影响元素的宽高,相当于把padding和border的值都算在content里,盒子模型会自动根据padding和border的值来调整content的值,就不需要手动调整,省时又省力。

JavaScript

tab标签切换

利用for循环遍历“登录”和“注册”div块;

选中的div进行 onclick 事件时,首先删除所有div的类名,隐藏所有的div盒子

然后给当前点击的按钮添加指定类名,给当前所点击按钮相关联的盒子添加指定属性

E N D

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据分析思维和方法:用户画像分析
我们经常在淘宝上购物, 作为淘宝方, 他们肯定想知道他的使用用户是什么样的, 是什么样的年龄性别, 城市, 收入, 他的购物品牌偏好, 购物类型, 平时的活跃程度是什么样的, 这样的一个用户描述就是用户画像分析。
Python数据科学
2021/02/01
1.6K0
数据分析思维和方法:用户画像分析
深入了解埋点分析:ClkLog助你优化用户体验
随着互联网和移动设备的普及,用户对数字化产品和服务的需求不断攀升。如何更好地了解用户行为,提升用户体验,以及优化广告效果,成为企业亟待解决的问题。 在这样的背景下,埋点分析成为了一种非常有效的数据收集和分析技术,为企业提供了深入了解用户行为和需求的工具,从而优化产品和服务,提升用户体验和满意度。
至存网络
2024/08/20
2420
深入了解埋点分析:ClkLog助你优化用户体验
神策数据的进阶之路:从用户行为分析工具到全新的数字化营销闭环
“提示说明:数据猿最新发布产业全景图:2020中国数据智能产业图谱1.0版,欲获取超高清版大图,后台回复关键词“图谱”即可。
数据猿
2020/11/23
1.5K0
神策数据的进阶之路:从用户行为分析工具到全新的数字化营销闭环
【案例】某金融理财交易平台——用数据驱动实现金融理财交易平台的产品优化与运营
数据猿导读 无论B2B还是B2C公司希望通过数据驱动业务增长,其中B2B领域中,在数据驱动下的B2B领先企业的收入增长能力是普通企业的5倍、盈利能力高8倍、股东整体回报率高2倍。因此,数据驱动能力正在
数据猿
2018/04/24
2.8K0
【案例】某金融理财交易平台——用数据驱动实现金融理财交易平台的产品优化与运营
人工智能如何助力企业突围互联网运营困局?
互联网产品在近十年来呈现爆发式增长,然而它们中的大多数却面临着竞争力低下、用户大量流失而最终被市场淘汰的困境。如今,随着数字化和智能化的发展与变革,互联网企业纷纷拥抱新技术,不断尝试新的运营方式。用户运营始终是公司的核心战略之一,而AI技术也逐渐在营销领域的应用中脱颖而出。
DT数据侠
2019/03/04
1.2K0
人工智能如何助力企业突围互联网运营困局?
营销数据分析助力科学决策,实现精准营销
数字营销浪潮下,广告主漫天撒网式的广告投放已然失效,因此,我们听到了很多有关于精准营销、精准传播的概念。
盈鱼MA
2020/08/11
2.1K0
营销数据分析助力科学决策,实现精准营销
分析方法论
分析方法论是指一套系统的、科学的分析框架和流程,用于指导数据收集、处理、分析和解释的过程。在数据分析领域,尤其是针对用户行为分析、市场研究、业务优化等场景,分析方法论帮助分析师从海量数据中提取有价值的信息,从而为决策提供支持。
芥藍
2025/03/05
1290
数据分析方法入门
| 导语   2019年底开始我开始接触数据分析,从初期的数据分析小白,到现在慢慢入门有些经验,想把我这里学到的数据分析的方法以最简单的方式解释给和当时的我一样小白的同学们,以下内容将分为【数据分析的意义】【基础指标体系搭建】【数据分析的方法】三大模块进行介绍 数据分析的意义 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。 数据分析是当前企业管理过程中不容忽视的重要支撑点,企业需要有完整、真实、有效的数据进行支撑,才能够对未来
腾讯大讲堂
2020/10/26
1.1K0
【数据分析】用户画像,这么构!
从1991年Tim Berners-Lee发明了万维网(World Wide Web)开始,到20年后2011年,互联网真正走向了一个新的里程碑,进入了“大数据时代”。伴随着对人的了解逐步深入,一个概
陆勤_数据人网
2018/02/27
2.3K0
【数据分析】用户画像,这么构!
推荐系统与精细化运营
随着大数据与人工智能(AI)技术的发展与成熟,国家政策层面对大数据与人工智能技术、创新、创业层面的支持,企业越来越意识到数据和AI技术的价值,并逐步认可数据是企业的核心资产。怎么利用大数据和AI技术从这些价值密度低、源源不断地产生的海量数据中挖掘商业价值,提升公司的决策力和竞争力,是每个提供产品/服务的公司(特别是toC互联网公司)必须思考和探索的问题。
石晓文
2020/03/05
1.5K0
推荐系统与精细化运营
互联网运营中的10大数据分析方法
道家强调四个字,叫“道、法、术、器”。“器”是指物品或工具,在数据分析领域指的就是数据分析的产品或工具,“工欲善其事,必先利其器”;“术”是指操作技术,是技能的高低、效率的高下,如对分析工具使用的技术(比如用Excel进行数据分析的水平);“法”是指选择的方法,有句话说“选择比努力重要”;“道”是指方向,是指导思想,是战略。那么如何做好数据分析呢,今天推荐一篇关于互联网运营中的十大数据分析方法。 1 细分分析 细分分析是分析的基础,单一维度下的指标数据的信息价值很低。 细分方法可以分为两类,一类逐步分析,比
企鹅号小编
2018/01/24
2.3K0
做好可视化数据分析,快速驱动运营增长
随着数据时代的来临,以前的粗放式管理已不再适应潮流,我们需要进行精细化管理,特别是以C端为驱动的运营模式,每一个运营的细节都离不开数据的支撑,互金行业也不例外,各大银行和互联网金融巨头也纷纷在抢占用户数据市场;
数商云网络科技
2020/06/10
1.2K0
做好可视化数据分析,快速驱动运营增长
【数据分析思维】能落地的用户画像长啥样?
用户画像,大数据时代老生常谈且又长久不衰的话题,公司都在搞,文章满天飞,在这个人人都喊“数据驱动业务”的时代,你不懂用户画像,不搞用户画像,你都不好意思跟别人聊(chui)业(niu)务(pi)。
数据万花筒
2021/07/05
1.1K0
【数据分析思维】能落地的用户画像长啥样?
数据化运营需要什么知识技能?
互联网下半场,流量红利早已消耗殆尽,一方面是泡沫散去后投资人投资更加理性,没那么多钱可以给到互联网公司去烧钱拉客户,另一方面,现在用户信息过载、产品和服务同质化严重,经常是花了钱也得不到客户,这样导致
数据干饭人
2022/07/01
6800
数据化运营需要什么知识技能?
聊聊APP数据分析的那些思路
有一个朋友跟我说,他之前呆过的一家互联网公司,抗风险能力很弱,整个运营部门all in在新增上,完全不考虑留存和活跃等指标。2017年的日新增用户数单从应用市场靠ASO来的都能做到日均3W,还没有算上其他渠道。但是留存特别低,7日活跃留存率只能维持在10%左右。后来,公司新来了一个产品经理,这个产品经理看到公司的问题,他逐步完善整个公司的数据体系。后来,运营数据指标体系慢慢清晰了,公司的用户增长也步入健康的增长状态,比当时all in新增的利润要可持续得多。他感叹说,数据分析好的话,完全能够实现可持续性的利润增长,深感数据分析的重要性。我也是完全认同他的观点,数据分析的价值潜力很大。今天,结合我多年的APP数据分析经验,给大家讲解一些APP数据分析的思路。记住,只聊思路,不聊实操,希望对一些对APP数据分析感兴趣的伙伴有所帮助。
数据森麟
2021/01/08
1.2K0
【iCDO数据掌门人】专访Datatist宋碧莲:AI和用户运营如何结合?
AI已经成为一众互联网公司的核心主攻,但谈起具体的应用,大部分时候,我们并没有听到太多让人信服的回答,而核心团队来自硅谷的Datatist想要从用户运营的角度,谈一谈他们的看法与实战。
iCDO互联网数据官
2019/05/15
7110
【iCDO数据掌门人】专访Datatist宋碧莲:AI和用户运营如何结合?
用户画像有什么用?怎样用?6个场景案例给你讲明白
在大数据分析中,对用户行为进行分析挖掘又是一个重要的方向,通过对用户行为进行分析,企业可以了解用户从哪里来,进入平台后进行了哪些操作,什么情况下进行了下单付款,用户的留存、分布情况是怎样的等。
IT阅读排行榜
2020/05/17
1.2K0
【数据分析】用户画像分析
摘要: 伴随着大数据应用的讨论、创新,个性化技术成为了一个重要的落地点。相比传统的线下会员管理、问卷调查、购物篮分析,大数据第一次使得企业能够通过互联网便利地获取用户更为广泛的反馈信息,为进一步精准、快速地分析用户行为习惯、消费习惯等重要商业信息,提供了足够的数据基础。伴随着对人的了解逐步深入,用户画像的概念悄然而生。 用户画像 用户画像,能够完美地抽象出一个用户的信息全貌,可以看作企业应用大数据的根基。 什么是用户画像? 举例而言,某位客户的特征描述为:男,31岁,收入一万以上,爱美食,团购达人,
陆勤_数据人网
2018/02/27
3.8K0
【数据分析】用户画像分析
一篇文章读懂BAT互联网大数据应用
文 | 傅志华 互联网行业在大数据的积累和应用以百度、腾讯和阿里巴巴最为值得关注。百度、腾讯和阿里巴巴在大数据的应用上虽然有共同的地方,但由于各自的数据来源和商业模式的不同,其大数据应用也有不同的特色。本文将分析他们拥有的数据资产和应用,以方便大家了解大型互联网企业的大数据现状和未来策略。 百度、阿里巴巴和腾讯的数据资产 从数据类型看,腾讯数据最为全面,这与其互联网业务全面相关,其最为突出的是社交数据和游戏数据,其中:社交数据最为核心的是关系链数据、用户间的互动数据、用户产生的文字、图片和视频内容;游戏数据
CDA数据分析师
2018/02/23
1.9K0
一篇文章读懂BAT互联网大数据应用
互联网金融出路在哪里?大数据用户挖掘告诉你
<数据猿导读> 中国传统金融覆盖面低,融资难、融资贵,资金配给效率相对低效,利润比较高,发展到现在已举步维艰,而移动互联网时代的到来以及与互联网+的有机融合发展出了诸如众筹、P2P、第三方支付、数字货
数据猿
2018/04/20
1.6K0
互联网金融出路在哪里?大数据用户挖掘告诉你
推荐阅读
相关推荐
数据分析思维和方法:用户画像分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验