div窗口:包含了要输入账号密码的input标签 和 验证是否正确的onclick
要插入的地方:是一个 < li>< a onclick="事件"> Y < /a>< /li>
目标是:点击Y 会出来div里的内容。
请问要在js文件里怎么写,本人刚刚接触请求回答,谢谢~
如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
html,
body {
width: 100%;
height: 100%;
}
.shadow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
background: rgba(0,0,0,.3);
transition: all .3s;
z-index: -1;
}
.shadow.show {
z-index: 1;
opacity: 1;
}
.shadow.show .model {
transform: translate(-50%, -50%);
}
.model {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -60%);
width: 300px;
background: #fff;
border-radius: 6px;
transition: all .3s;
}
.model .tit {
display: flex;
line-height: 30px;
padding: 10px;
border-bottom: 1px solid #ccc;
}
.model .tit .close {
margin-left: auto;
cursor: pointer;
}
.model .content {
padding: 10px;
}
</style>
</head>
<body>
<a href="void:;" id="btn">按钮</a>
<div class="shadow" id="shadow">
<div class="model">
<div class="tit">
我是弹窗标题
<div class="close" id="model-close">关闭</div>
</div>
<div class="content">
我是弹窗内容
</div>
</div>
</div>
<script>
let btn = document.getElementById('btn');
let shadow = document.getElementById('shadow');
btn.addEventListener('click', function(e) {
shadow.className = 'shadow show'
return false
}, false)
shadow.addEventListener('click', function(e) {
let target = e.target;
let _class = target.className;
if(_class.includes('shadow') || _class.includes('close')) {
shadow.className = 'shadow'
}
return false
}, false)
</script>
</body>
</html>
考虑到楼主刚刚接触,这个问题其实使用原生的js+css就可以解决了。
完整的思路是自己写一个div,用来存我们这个要弹框显示的内容。通过改变该div的css属性display值来切换显示隐藏该div以此做到弹框效果。
如果需要背景有个半透明度的话我们可以外部嵌套一个容器,设置它的背景色为黑色,opacity或者background:#00000080这样来设置半透明遮罩
js通过获取该div来设置它的css属性display不为none控制显示隐藏。
完整逻辑就是这样,如果有什么不懂可以再直接问我
你是想 实现 点击a链接 实现登录的效果吗 就是出现一个登录的弹出层?
如果是的话 原生js 的思路是先设置一个蒙板(遮盖层)它的背景色为灰色 默认是display : none; 登录页面的代码包含在一个div 中,这个div的display:none;
当你点击a的时候,让遮盖层和这个登录盒子一块显示 。注意这里用定位 让 登录盒子的层级 z-index 大于遮盖层的 否则 你可能看不到登录页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#form{
display: none;
}
</style>
</head>
<script type="text/javascript" src="jquery-1.11.0.js" ></script>
<body>
<div id="form">
<form>
用户名:<input type="text" />
密码:<input type="password" />
<input type="button" value="登录"/>
</form>
</div>
<a href="javascript:alert1()">Y</a>
<a href="javascript:alert2()">点这个DIV就不见了</a>
</body>
<script>
function alert1(){
$("#form").css("display","block");
}
function alert2(){
$("#form").css("display","none");
}
</script>
</html>
记得改下jQuery路劲
既然用到了点击事件,那你必然用到了js 或者 jq,
不管你的div是否放在a标签里面都可以控制改div弹出或者隐藏的状态。
一般来说a标签嵌套div是比较不规范的。
看你的回复你的div设置了id,那么在你的点击函数里面,直接执行代码:
JS:document.getElementById('id 名字').style.display='block' ;//div 出现
JQ:$('# div名字').fadeIn()