无限增加screen-1-h2-animate-init

无限增加screen-1-h2-animate-init

var screenAnimateElements={
	'.screen-1':[
		'.screen-1-h2',
		'screen-1-h3',
	]
};

function setScreenAnimate(screenCls){
	var screen= document.querySelector(screenCls);//获取当前屏幕的元素
	var animateElements=screenAnimateElements[screenCls];//需要设置动画的元素
	var isSetAnimateClass=false;//是否有初始化子元素的样式
	var isAnimateDone=false; //当前屏幕下所有子元素的状态是Done

	screen.onclick=function(){
		//初始化样式,增加init
		if(isSetAnimateClass===false){
			for (var i=0;i<animateElements.length;i++){

				var element=document.querySelector(animateElements[i]);
				var baseCls=element.getAttribute('class');

				element.setAttribute('class',baseCls+' '+animateElements[i].substr(1)+'-animate-init');
			}
			isSetAnimateClass=true;
			return;
		}
		//却换所有animateElements init -> done
		if(isAnimateDone===false){
			for (var i=0;i<animateElements.length;i++){

				var element=document.querySelector(animateElements[i]);
				var baseCls=element.getAttribute('class');

				element.setAttribute('class',baseCls.replace('-animate-init','-animate-done'));
			}
			isAnimateDone = true;
      		return ;
		}
		//却换所有animateElements  done-> init 
		if(isAnimateDone===true){
			for (var i=0;i<animateElements.length;i++){

				var element=document.querySelector(animateElements[i]);
				var baseCls=element.getAttribute('class');

				element.setAttribute('class',baseCls.replace('-animate-done','-animate-init'));
			}
			isAnimateDone = false;
        	return ;
		}
	}
}


setScreenAnimate('.screen-1');

控制台部分无限增加screen-1-h2-animate-init

下面是HMTL部分的第一屏幕

<div class="screen-1">

<h2 class="screen-1-h2 ">实战课程重磅上线</h2>

<h3 class="screen-1-h3 ">一键云学习,还在等什么?</h3>

</div>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,建议你把完整的代码粘上来,这样没有办法给你测试啊。

  • 洞庭兮木叶下 提问者 #1
    恩恩 好的。那我再加一个css的应该就可以测试了。我改了一下问题。。
    2017-04-23 23:57:38
  • 洞庭兮木叶下 提问者 #2
    css部分: /*动画*/ .screen-1-h2, .screen-1-h3{ transition: all 1s; } .screen-1-h2-animate-init, .screen-1-h3-animate-init{ opacity: 0; transform: translate(0,100%); } .screen-1-h2-animate-done, .screen-1-h3-animate-done{ opacity: 1; transform: translate(0,0); }
    2017-04-23 23:58:07
  • 洞庭兮木叶下 提问者 #3
    我自己弄好了。。。谢谢你了= =
    2017-04-24 00:32:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师