<jQuery-常用方法show$hide自定义实现与jQ实现>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style type="text/css">
		div.box {
			width: 400px;
			height: 300px;
			background: green;
		}
	</style>
</head>
<body>
	<button>显示</button>
	<button>隐藏</button>
	<button>切换</button>
	<div class="box" id="dv1">123</div>

	<script src="./jquery-1.12.3/jquery-1.12.3.min.js"></script>
	<script type="text/javascript">
	//jQery实现
		//获取元素
		var btns=$('button');
		var box=$('.box');
		//通过索引值获取指定div jQ对象
		console.log(btns.eq(0));
		//绑定单个对象
		//显示
		btns.eq(0).click(function(){
			//show(t)方法m
			//参数表示变化的时间 单位ms
			box.show(1000);
		});
		//隐藏
		btns.eq(1).click(function(){
			box.hide(1000);
		});
		//切换显隐
		btns.eq(2).click(function(){
			box.toggle(1000);
		});
	</script>
	
	<p>原生js实现</p>
<!--
	<script type="text/javascript">
		
		var dv = document.getElementById('dv1');
		var btns = document.getElementsByTagName('button');
		var wid1=getComputedStyle(dv)['width'];
		var het1=getComputedStyle(dv)['height'];
		var flag=1;
		//实现显示
		btns[0].onclick=function() {
			// dv.className="";
			//实现动画效果
			if(flag) {
				return;
			}
			var opacity=0;
			var num=parseInt(1000/25);
			var wid=0;
			var het=0;
			var a=parseInt(wid1)/num;
			var b=parseInt(het1)/num;
			var c=1/num;
			console.log(wid);
			var timerbar = setInterval(function() {
				wid+=a;
				het+=b;
				opacity+=c;
				dv.style.width=wid+'px';
				dv.style.height=het+'px';
				dv.style.opacity=opacity;
				console.log(dv.style.width);
				if (!--num) {
					//停止循环
					clearInterval(timerbar);
				}
			}, 25);
			flag=1;
		}
		//实现隐藏
		btns[1].onclick=function() {
			// dv.className="box";
			//定义定时器,1s执行完
			//宽度从400->0,25ms执行一次,执行40次
				//!wid=dv.style.width只能获取行内样式
			//透明度
			if(!flag) {
				return;
			}
			var opacity=1;
			var num=1000/25;
			var wid=parseInt(wid1);
			var het=parseInt(het1);
			var a=wid/num;
			var b=het/num;
			var c=opacity/num;
			console.log(wid);
			var timerbar = setInterval(function() {
				wid-=a;
				het-=b;
				opacity-=c;
				dv.style.width=wid+'px';
				dv.style.height=het+'px';
				dv.style.opacity=opacity;
				console.log(dv.style.width);
				if (!--num) {
					//停止循环
					clearInterval(timerbar);
				}
			}, 25);
			flag=0;
		}
	</script>
-->
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值