1.下拉菜单(仿微博)
<!DOCTYPE html>
<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>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
li{
list-style-type: none;
}
a{
text-decoration: none; /*去掉下划线,加下划线用underline*/
font-size: 14px;
}
.nav{
margin: 100px;
}
.nav>li{
position: relative;
float: left;
width: 80px;
height: 41px;
text-align: center;
}
.nav li a{
display: block;
width: 100%;
height: 100%;
line-height: 41px;
color:#333;
}
.nav>li>a:hover{
background-color: #eee;
}
.nav ul{
display: none; /*隐藏*/
position: absolute;
top: 41px;
left: 0;
width: 100%;
border-left: 1px solid #fecc58;
border-right: 1px solid #fecc58;
}
.nav ul li{
border-bottom: 1px solid #fecc58;
}
.nav ul li a:hover{
background-color: #fff5da;
}
</style>
</head>
<body>
<ul class="nav">
<li>
<a href="#">微博</a>
<ul>
<li><a href="#">私信</a></li>
<li><a href="#">评论</a></li>
<li><a href="#">@我</a></li>
</ul>
</li>
<li>
<a href="#">微博</a>
<ul>
<li><a href="#">私信</a></li>
<li><a href="#">评论</a></li>
<li><a href="#">@我</a></li>
</ul>
</li>
<li>
<a href="#">微博</a>
<ul>
<li><a href="#">私信</a></li>
<li><a href="#">评论</a></li>
<li><a href="#">@我</a></li>
</ul>
</li>
<li>
<a href="#">微博</a>
<ul>
<li><a href="#">私信</a></li>
<li><a href="#">评论</a></li>
<li><a href="#">@我</a></li>
</ul>
</li>
</ul>
<script>
//1.获取元素
var nav = document.querySelector('.nav');
var lis = nav.children; //得到4个小li
//2.循环注册事件
for(var i =0;i<lis.length;i++){
lis[i].onmouseover = function(){
this.children[1].style.display = 'block';
}
lis[i].onmouseout = function(){
this.children[1].style.display = 'none';
}
}
</script>
</body>
</html>
2.简单版发布留言案例(点击按钮之后,动态创建一个li,添加到ul里)(补充了删除留言功能)
<!DOCTYPE html>
<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>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
body{
padding: 100px;
}
textarea{
width: 200px;
height: 100px;
bottom: 1px solid pink;
outline: none;
resize: none;
}
ul{
margin-top: 50px;
}
li{
width: 300px;
padding: 5px;
background-color: rgb(245,209,243);
color: red;
font-size: 14px;
margin: 15px 0;
}
li a{
float: right;
}
</style>
</head>
<body>
<textarea name="" id=""></textarea>
<!--textarea标签用于多行文本输入,常用于留言板-->
<button>发布</button>
<ul></ul>
<script>
//1.获取元素
var btn = document.querySelector('button');
var text = document.querySelector('textarea');
var ul = document.querySelector('ul');
//2.注册事件
btn.onclick = function(){
if(text.value == ''){
alert('您没有输入内容');
return false;
}else{
//创建元素
var li = document.createElement('li');
//先有li才能赋值
li.innerHTML = text.value+ "<a href = 'javascript:;'>删除</a>";
// 添加元素
// ul. appendChild(li);
ul.insertBefore(li,ul.children[0]);
//3.删除元素 擅长的是当前连接的li 他的父级
var as = document.querySelectorAll('a');
for(var i=0;i<as.length;i++){
as[i].onclick = function(){
// node.removeChild(child);//删除的是li 当前a所在的li this.parentNode
ul.removeChild(this.parentNode);
}
}
}
}
</script>
</body>
</html>
3.动态生成表格
<!DOCTYPE html>
<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>Document</title>
<style>
table{
width: 500px;
margin: 100px auto;
border-collapse: collapse; /*设置行和单元格相邻边合并*/
text-align: center;
}
td,
th{
border: 1px solid #333;
}
thead tr{
height: 40px;
background-color: #ccc;
}
</style>
</head>
<body>
<table cellspacing="0"> <!-- cellapscing 改变表格之间的间距 -->
<thead>
<tr>
<th>姓名</th>
<th>所属职位</th>
<th>玩家满意值</th>
<th>操作</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script>
//1.先准备好学生的数据
var datas = [{
name: '貂蝉',
job: '法师',
perfect: 99
},{
name: '瑶',
job: '辅助',
perfect: 98
},{
name: '孙尚香',
job: '射手',
perfect: 98
},{
name: '李白',
job: '刺客',
perfect: 98
}];
//2.往tbody里面创建行:有几个人(通过数组的长度)就创建几行
var tbody = document.querySelector('tbody');
for(var i=0;i<datas.length;i++){ //外层for管行tr
//创建tr行
var tr = document.createElement('tr');
tbody.appendChild(tr);
//往里面创建单元格td (跟数据有关系的3个单元格)
// 单元格的数量取决于每个对象里面的属性个数
// 利用for循环遍历对象 datas[i]
for(var k in datas[i]){ //内层for管列td
//创建单元格
var td = document.createElement('td');
//把对象里面的属性值 datas[i][k]给td
console.log(datas[i][k]);
td.innerHTML = datas[i][k];
tr.appendChild(td);
}
//创建有删除2个字的单元格
var td = document.createElement('td');
td.innerHTML = '<a href ="javascript:;">删除</a>';
tr.appendChild(td);
}
//删除操作
var as = document.querySelectorAll('a');
for(var i=0;i<as.length;i++){
as[i].onclick = function(){
//点击a删除当前a所在的行(链接的爸爸的爸爸) node.removeChild(child)
tbody.removeChild(this.parentNode.parentNode);
}
}
// for(var k in obj){
// k得到的是属性名
// obj[k]得到的是属性值
// }
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)