关于变量中html标签的隐藏与显示问题

发布网友 发布时间:2022-04-06 06:32

我来回答

1个回答

热心网友 时间:2023-10-17 13:59

当做登录页面时,总是会显示 登录状态 和 未登录状态 。这两种状态,可能会将一些控件隐藏,或者将一些控件显示,这个是很常见的。
我这里用的是 display 。简单介绍一下,什么是 display ? 它是 CSS 中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值,这与元素的类型有关。对于大多数元素它们的默认值通常是 block 或 inline 。一个 block 元素通常被叫做块级元素。一个 inline 元素通常被叫做行内元素。不显示控件时, display 的值等于 none 。
下面是部分代码:
<!DOCTYPE html>
<html>
<body>
<!--
作者:Janine_Z@163.com
时间:2016-08-23
描述:在 body 里做一个简单的布局
-->
<div class="mui-content">
<div class="headImg">
<div class="touxiang">
<div >
<span id="headimg" class="mui-icon mui-icon-person" style="font-size: 3.8em; color: white;"></span>
<!--src="../img/bg.jpeg"-->
<img id="trueimg" style="width: 100%; height: 100%; border-radius: 50%;" />
</div>
<span id="imgwords">未登录</span>
</div>
</div>
<!--
作者:Janine_Z@163.com
时间:2016-08-23
描述:退出登录按钮
-->
<button id="logout" class="mui-btn mui-btn-block" style="margin-top:20px;color: indianred;text-align: center;display: none;">
退出登录
</button>
</div>
<script type="text/javascript" charset="UTF-8">
mui.init({
swipeBack:false
});

var logoutBtn;
var headimg;
var trueimg;
var imgwords;

mui.plusReady(function(){

DisplayInfo();

// Janine:下面的变量需要根据用户登录的状态进行改变
// “未登录”状态的头像
headimg = document.getElementById('headimg');
// “已登录”状态的头像
trueimg = document.getElementById('trueimg');
// 显示“已登录”或“未登录”的字样
imgwords = document.getElementById('imgwords');

// Janine:"退出登录"的按钮控件获取
logoutBtn = document.getElementById('logout');

// Janine:点击“未登录”的头像,先进行简单的判断
headimg.addEventListener('tap',function(){
// 如果“未登录”,则点击“未登录”的头像有效
if(imgwords.innerHTML == "未登录"){
//打开登录页面
mui.openWindow({
url:'../html/login.html',
id:'../html/login.html'
});
}
});

// Janine:点击"退出登录"
logoutBtn.addEventListener('tap',function(){
// "退出登录"的提示框
var btnArray = ['确认', '取消'];
mui.confirm('是否退出登录?',function(e) {
if (e.index == 0) {
console.log("Janine:logoutBtn.进入退出接口--->");
// Janine:执行退出登录的方法
/*该方法根据自己的情况写*/
}
});
},false);
});

/**
* Janine:checkUser.do:检查用户是否登录,检测成功后,进行判断,如果“已登录”
*/
function DisplayInfo() {
if(imgwords.innerHTML == "未登录"){

// Janine:如果“未登录”,则隐藏“退出登录”按钮
logoutBtn.style.display = 'none';
// 显示“未登录”状态下的默认头像,隐藏真正的头像
headimg.style.display = 'inline';
trueimg.style.display = 'none';
// 设置“未登录”的字样,以及样式
imgwords.innerHTML = "未登录";
imgwords.style.color = 'indianred';
}else{
// Janine:如果“已登录”,显示“退出登录”的按钮
logoutBtn.style.display = 'block';
// Janine:对头像的处理,显示登录头像,隐藏“未登录”时的图片
headimg.style.display = 'none';
trueimg.style.display = 'inline';
trueimg.src = '../img/touxiang.jpg';

// 获取登录时存储的用户名,并显示出来
var user = localStorage.getItem('account');
imgwords.style.color = 'black';
imgwords.innerText = user + ",您好!";

}
}

/**
* Janine:当退出成功后,有两种情况:
*让当前页面刷新,然后加载显示“未登录”状态——如果需要页面刷新,
*就需要页面再次检测用户的登录状态
*/
function logoutSuccess(data){
mui.toast(data.msg);
// Janine:data.result.code == 1表示退出成功
if (data.result.code == 1) {

// 首先,移除之前存储的用户名
localStorage.removeItem('account');
plus.runtime.quit(); // 退出程序

}
}
</script>
</body>
</html>

河南新华网络运营协会

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com