JS学习第七天总结

1.昨天内容复习

  • 焦点事件
    • 得到焦点onfocus
    • 失去焦点onblur
  • this关键字,指的是事件的调用者
  • value,获取表单的内容
  • className,添加类名
  • innerHTML,修改元素内容
  • focus(),自动获得焦点的方法
  • select(),表单选择内容

2.for循环

复习回顾

3.获得元素的方式

  • 通过Id获取元素,document.getElementById();
  • 通过标签名获取元素,documnet.getElementsByTagName(),获取到的元素是多个,是一个伪数组;
    • 通过for循环遍历所有元素
    • 通过父级元素缩小范围之后再获取里面的元素

4.数组

  • 创建数组:
    • var arr=[1,2,3,4,5…];
    • var arr2=new Array(1,2,3,4,5…)// 使用不多
  • 通过下标(索引)来获取数组中元素,没有的元素返回undefined
  • 遍历数组元素,for循环
隔行变色案例,鼠标经过高亮显示

注意:行内样式权重高于类名设置的样式。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			ul{
				list-style: none;
			}
			li{
				line-height:40px;
				margin-top:10px;
				border:1px solid #777;
				padding-left:20px;
				width:300px;
				height:40px;
			}
			.bgc{
				background-color:skyblue!important;				
			}
		</style>
	</head>
	<body>
		<ul>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
			<li>我是段落内容,请仔细阅读。</li>
		</ul>
		<script type="text/javascript">
			var lis=document.getElementsByTagName("li");
			for(var i=0;i<lis.length;i++){
				if(i%2==0){
					lis[i].style.backgroundColor="yellow";					
				}
				lis[i].function(){
					this.className="bgc";
				}
				lis[i].function(){
					this.className="";
				}
			}
		</script>
	</body>
</html>
写一个函数,求数组的平均值
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			function num(arr){
				var sum=0;
				var j=0;
				for(var i=0;i<arr.length;i++){
					if(parseInt(arr[i])!=0){
						sum+=parseInt(arr[i]);
						j++;
					}				
				}
				var num=sum/j;
				return num;
			}
			var a=prompt("请输入要求平均数的数字,中间用逗号分隔");
			for(var i=0;i<a.length;i++){
				console.log(a[i]);
			}
			console.log(num(a));
		</script>
	</body>
</html>
精灵图实现九宫格布局
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin:0;
				padding:0;
			}
			ul{
				list-style: none;
				width:410px;
				height:310px;
				margin:100px auto;				
				border:1px solid #666;
				padding-left:20px;
			}
			li{
				display: block;
				width:100px;
				height:100px;
				float:left;
				text-align: center;
				margin-bottom: 10px;
			}
			i{
				display:block;
				width:44px;
				height:44px;
				background:url(img/QQ图片20190326144407.png) no-repeat;
				margin-top:10px;
				margin-left:40px;
			}
			a{
				text-decoration: none;
				color:#999;
				font-size:18px;
			}
		</style>
	</head>
	<body>
		<ul>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
			<li>
				<i></i>
				<a href="">充话费</a>
			</li>
		</ul>
		<script type="text/javascript">
			var is=document.getElementsByTagName("i");
			for(var i=0;i<is.length;i++){
				is[i].style.backgroundPosition="0px "+(-43*i)+"px";// 空格不能少
//				is[i].style.backgroundPositionY=(-43*i)+"px";// 只有Y方向变量改变
			}
		</script>
	</body>
</html>
复选框带全选、反选、取消按钮

checked=true,选中;top不要用作变量名,是关键字,会报错。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id="top1">
			<button>全选</button>
			<button>取消</button>
			<button>反选</button>
		</div>
		<div id="bottom">
			商品1:<input type="checkbox" /><br />
			商品2:<input type="checkbox" /><br />
			商品3:<input type="checkbox" /><br />
			商品4:<input type="checkbox" /><br />
			商品5:<input type="checkbox" /><br />
			商品6:<input type="checkbox" /><br />
			商品7:<input type="checkbox" /><br />
			商品8:<input type="checkbox" /><br />
			商品9:<input type="checkbox" /><br />
		</div>
		<script type="text/javascript">
			var top1=document.getElementById("top1");
			var bottom=document.getElementById("bottom");
			var btns=top1.getElementsByTagName("button");
			var inputs=bottom.getElementsByTagName("input");
			btns[0].function(){
				for(var i=0;i<inputs.length;i++){
					inputs[i].checked=true;
				}
			}
			btns[1].function(){
				for(var i=0;i<inputs.length;i++){
					inputs[i].checked=false;
				}
			}
			btns[2].function(){
				for(var i=0;i<inputs.length;i++){
					if(inputs[i].checked==true){
						inputs[i].checked=false;
					}else{
						inputs[i].checked=true;
					}
				}
			}
		</script>
	</body>
</html>
京东搜索框

事件可以连写,..onpropertychange=function(){}。
IE6、7、8兼容的是onpropertychange。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin:0;
				padding:0;
				position: relative;
			}
			#container{
				width: 500px;
				margin:100px auto;
			}
			#txt{
				height:30px;
				width:500px;
			}
			#label{
				position: absolute;
				top:5px;;
				left:10px;
				cursor: text;
			}
		</style>
	</head>
	<body>
		<div id="container">
			<input type="text" id="txt"/>
			<label id="label" for="txt">默认商品</label>
		</div>
		<script type="text/javascript">
			var txt=document.getElementById("txt");
			var label=document.getElementById("label");
			txt.function(){
				label.style.color="#666";
			}
			txt.function(){
				label.style.color="black";				
			}
			txt.function(){
				label.style.display="none";	
				if(txt.value==""){
					label.style.display="block";
				}
			}
		</script>		
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值