JavaScript快速入门

基础知识:

1.获取单个元素:

根据class获取元素:
var a = document.querySelector('.div1');
根据id获取元素:
var a = document.querySelector('#div1');
根据标签获取元素:
var a = document.querySelector('li');

2.获取数组元素:

var lis = document.querySelectorAll('.div1 ul li');

元素事件绑定:

div1.addEventListener('事件类型',function(){
	
})

3.创建节点与插入节点:

指定标签创建节点:a=document.createElement('li'),创建一个结点只能添加一次
添加节点:ul.appendChild(a)将一个结点添加到指定父节点的子节点末尾
添加节点2:ul.insertBefore(a,ul.children[0]):将一个结点添加到父节点下的一个子节点的前一个

4.定时器:

setInterval():每隔一段这个时间,就去调用一次回调函数(例:倒计时效果)
clearInterval(定时器名)可以删除setInterval()设置的定时器

5.本地储存
本地存储(sessionStorage关闭浏览器删除数据,localStorage只能手动删除,其他页面也能使用存储在浏览器中的数据):

sessionStorage.setItem(key,value):把数据存储在用户浏览器中
sessionStorage.getItem(key):获取数据
sessionStorage.removeItem(key):删除数据
sessionStorage.clear():删除所有数据
localStorage.setItem(key,value):把数据存储在用户浏览器中
localStorage.getItem(key):获取数据
localStorage.removeItem(key):删除数据
localStorage.clear():删除所有数据

简单项目:

操作单个元素:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>test</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}
			.div1{
				width: 100px;
				height: 100px;
				margin: auto;
				background-color: red;
			}
			
		</style>
	</head>
	<body>
		
		<div class="div1">
			
		</div>
		<button type="button" id="btn">点击</button>
		
		<script type="text/javascript">
			var div1 = document.querySelector('.div1');
			var btn = document.querySelector('#btn');
			
			btn.addEventListener('click',function(){
				div1.style.width='200px';
				div1.style.height='200px';
			})
			
			div1.addEventListener('click',function(){
				div1.style.backgroundColor='black';
			})
			
			div1.addEventListener('mouseover',function(){
				div1.style.backgroundColor='gray';
			})
			
 		</script>
		
	</body>
</html>

操作多个元素:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>test</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}
			.div1{
				width: 800px;
				height: 200px;
				margin: auto;
			}
			li{
				list-style: none;
				text-align: center;
				line-height: 200px;
				font-size: 45px;
				float: left;
				width: 200px;
				height: 200px;
				background-color: black;
				color: red;
				cursor: pointer;
			}
		</style>
	</head>
	<body>
		
		<div class="div1">
			<ul>
				<li>1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
			</ul>
		</div>
		
		<script type="text/javascript">
			
			var lis = document.querySelectorAll('.div1 li');
			for(var i = 0;i<lis.length;i++){
				lis[i].addEventListener('mouseover',function(){
					for(var j = 0;j < lis.length;j++){
						lis[j].style.backgroundColor='';
					}
					this.style.backgroundColor='red';
				})
			}
			for(var i = 0;i<lis.length;i++){
				lis[i].addEventListener('mouseout',function(){
					for(var j = 0;j < lis.length;j++){
						lis[j].style.backgroundColor='';
					}
				})
			}
			
 		</script>
		
	</body>
</html>

留言板

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>留言板</title>
		<style type="text/css">
			.div1{
				width: 800px;
				height: 200px;
				margin: auto;
				border: 1px solid red;
				overflow: scroll;
			}
			.div2{
				width: 400px;
				height: 50px;
				margin: auto;
			}

		</style>
	</head>
	<body>
		
		<div class="div1">
			<ul>
				
			</ul>
		</div>
		
		<div class="div2">
			<input type="text" id="ipt" placeholder="请输入内容"/>
			<button type="button" id="btn">发布</button>
		</div>
		
		<script type="text/javascript">
			//获取元素
			var div1 = document.querySelector('.div1');
			var div2 = document.querySelector('.div2');
			var btn = document.querySelector('#btn');
			var ipt = document.querySelector('#ipt');
			var ul = document.querySelector('.div1 ul');
			
			//用数组充当数据库保存已有的数据
			var arr = ['123','456','678'];
			
			//先渲染出数组当中的数据
			for(var i=0;i<arr.length;i++){
				var li = document.createElement('li');
				li.innerHTML=arr[i];
				ul.appendChild(li);
			}
			
			//给按钮添加点击事件
			btn.addEventListener('click',function(){
				console.log('----')
				//重新获取元素
				var ul = document.querySelector('.div1 ul');
				//创建一个li元素
				var li = document.createElement('li');
				//给li元素添加内容
				li.innerHTML=ipt.value;
				//把li元素插入到ul当中
				ul.appendChild(li);
				//向数组当中添加元素
				arr.push(ipt.value);
				//内容盒子卷去的头部为它的高度,保持最新的数据在最下面
				div1.scrollTop = div1.scrollHeight;
			})
			
 		</script>
		
	</body>
</html>

效果图:
在这里插入图片描述

tab栏切换

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>test</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}
			body{
				background-color: black;
			}
			.div1{
				width: 900px;
				height: 50px;
				margin: auto;
				border: 1px solid red;
				color: aqua;
			}
			.div2{
				width: 900px;
				height: 400px;
				margin: auto;
				border: 1px solid gray;
				position: relative;
				color: aquamarine;
				
			}
			.div1 li{
				width: 33%;
				height: 100%;
				float: left;
				list-style: none;
				text-align: center;
				line-height: 50px;
				cursor: pointer;
			}
			.div1 li:hover{
				background-color: red;
			}
			
			.div2 li{
				position: absolute;
				list-style: none;
				display: none;
			}
			.div2 li:nth-child(1){
				display: block;
			}
		</style>
	</head>
	<body>
		
		<div class="div1">
			<ul>
				<li></li>
				<li></li>
				<li></li>
			</ul>
		</div>
		
		<div class="div2">
			<ul>
				<li>1</li>
				<li>2</li>
				<li>3</li>
			</ul>
		</div>
		
		<script type="text/javascript">
			//获取元素
			var li1s = document.querySelectorAll('.div1 li');
			var li2s = document.querySelectorAll('.div2 li');
			//给li一个自定义属性
			for(var i = 0 ;i<li1s.length;i++){
				li1s[i].id = i;
			}
			for(var i=0;i<li1s.length;i++){
				li1s[i].addEventListener('click',function(){
					for(var j=0;j<li2s.length;j++){
						li2s[j].style.display='none';
					}
					li2s[this.id].style.display='block';
					
				})
			}
			
 		</script>
		
	</body>
</html>

效果图:
在这里插入图片描述

轮播图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值