课外扩展问题

课外扩展问题

http://img1.sycdn.imooc.com//climg/5e033e1f09d06c2002630372.jpg

请告诉我这个可以如何用代码实现,慕课网的效果

我测试用的代码:(我认为可以结合这个测试)

// 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);}


正在回答 回答被采纳积分+1

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

1回答
好帮手慕言 2019-12-25 19:30:25

同学你好,如果同学想扩展课外的内容,是需要同学自己写的。只有自己想办法写出来,印象才会深刻,技术才会提升。同学要锻炼自己独立思考与动手的能力,因为在以后的工作中不能全靠同事帮你解决问题呀

目前阶段建议同学把课程中的效果都学会、学透彻,再去扩展其他的内容会更好些。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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