无限增加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>
32
收起
正在回答
1回答
同学,建议你把完整的代码粘上来,这样没有办法给你测试啊。
HTML5与CSS3实现动态网页 2018
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星