前端基础学习——自动缩放图标

			<div class="out"></div>
			<div class="inner"></div>
		</div>
  • css代码
*{
				margin: 0;
				padding: 0;
			}
			html,body{
				height: 100%;
				filter: alp;
			}
			.out{
				width: 50px;
				height: 50px;
				border-radius: 50%;
				background: rgba(255,0,0,.5);
				transition: all 1s;
				display: inline-block;
			}
			.out_hover{
				transform: scale(0.5);
			}
			.one{
				position: relative;
				display: inline-block;
				/* 要设为inline-block,否则宽度会被设为整个屏幕宽度 */
			}
			.inner{
				width: 25px;
				height: 25px;
				border-radius: 50%;
				background: rgb(155,0,0);
				position: absolute;
				top: 50%;
				margin-top: -12.5px;
				left: 50%;
				margin-left: -12.5px;
			}
  • js代码
var out=document.getElementsByClassName('out')[0];
			// 需要注意的是,看起来,inner和out是层叠关系,但是这这只是视图层看起来的
			// 需要注意的是,实际上这是兄弟关系,不是父子关系,所以不存在冒泡!
			out.onclick=function(){
				console.log(out.getAttribute('class'));
				var cla=out.getAttribute('class');
				if(cla.indexOf('out_hover')!=-1){
					out.setAttribute('class',cla.replace('out_hover',''));
				}else{
					out.setAttribute('class',cla+' out_hover');
				}
			}
			// 如果想要让out元素自己自动变化大小,那就直接使用setTimeout,setInterval定时器
			setInterval(()=>{
				var cla=out.getAttribute('class');
				if(cla.indexOf('out_hover')!=-1){
					out.setAttribute('class',cla.replace('out_hover',''));
				}else{
					out.setAttribute('class',cla+' out_hover');
				}
			},1000)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值