课外扩展问题

请告诉我这个可以如何用代码实现,慕课网的效果
我测试用的代码:(我认为可以结合这个测试)
// JavaScript Document
//封装创建事件的函数
function addHandler(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, true);
}
else if (element.attachEvent) {
element.attachEvent('on' + type, handler);
}
else {
element['on' + type] = handler;
}
}
var screen={
".screen-1":[".screen-1_h2",".screen-1_h3"],
".screen-2":[".screen-2_h2",".screen-2_h3",".screen-2_line",".screen-2_people",".screen-2_cloud",".screen-2_plane"],
".screen-3":[".screen-3_h2",".screen-3_smallbox_up_line",".screen-3_h3",".screen-3_left",
".screen-3_smallbox_down1",".screen-3_smallbox_down2",".screen-3_smallbox_down3",
".screen-3_smallbox_down4",".screen-3_smallbox_down5"],
".screen-4":[".screen-4_h2",".screen-4_h3",".screen-4_line",
".screen-4_smallbox1",".screen-4_smallbox2",".screen-4_smallbox3",".screen-4_smallbox4"],
".screen-5":[".screen-5_people",".screen-5_h2",".screen-5_h3",".screen-5_line"]
};
function animate(ele){
var screenele=screen[ele];//对象里面的screen1-5
var target=document.querySelector(ele);
var isSetAnimateClass = false; // 是否有初始化子元素的样式
var isAnimateDone = false; // 当前屏幕下所有子元素的状态是DONE?
addHandler(target,"click",function(){
if(isSetAnimateClass==false){// 初始化样式,增加init A A_init
for(var i=0;i<screenele.length;i++){
var screenanimate=document.querySelector(screenele[i]);//对象里面的screen1-5数组里的每一项
var classscreen=screenanimate.getAttribute("class");
screenanimate.setAttribute('class',classscreen +' '+screenele[i].substr(1)+'_animate_init');
}
isSetAnimateClass = true;
return ;
}
if(isAnimateDone == false){//切换所有 animateElements 的 init -> done A A_done
for(var i=0;i<screenele.length;i++){
var screenanimate=document.querySelector(screenele[i]);//对象里面的screen1-5数组里的每一项
var classscreen=screenanimate.getAttribute("class");
screenanimate.setAttribute('class',classscreen.replace('_animate_init','_animate_done'));
}
isAnimateDone = true;
return ;
}
if(isAnimateDone == true){//切换所有 animateElements 的 done -> init A A_init
for(var i=0;i<screenele.length;i++){
var screenanimate=document.querySelector(screenele[i]);//对象里面的screen1-5数组里的每一项
var classscreen=screenanimate.getAttribute("class");
screenanimate.setAttribute('class',classscreen.replace('_animate_done','_animate_init'));
}
isAnimateDone = false;
return ;
}
});
}
for(k in screen){animate(k);}20
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星