请问为什么我的phone和shadow的init 不变done啊
只有heading的init会变done,我和源码对了一下,没错啊
var setScreenAnimateElements = {
".screen-1": [".screen-1__heading", ".screen-1__phone", ".screen-1__shadow"]
};
function setScreenAnimate(screenCls) {
var screen = document.querySelector(screenCls); //获取当前屏的元素
var animateElements = setScreenAnimateElements[screenCls]; //需要设置动画的元素
var isSetAnimateClass = false; //是否有初始化子元素的样式?
var isAnimateDone = false; //当前屏幕下所有子元素状态是Done么?
screen.onclick = function() {
//初始化样式,增加init A A_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 A A_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 A A_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__heading {
transition: all 1s;
}
.screen-1__heading_animate_init {
opacity: 0;
transform: translate(0, 100%);
}
.screen-1__heading_animate_done {
opacity: 1;
transform: translate(0, 0);
}
.screen-1__phone {
transition: all 1s;
}
.screen-1__phone_animate_init {
opacity: 0;
transform: translate(0, -100%);
}
.screen-1__phone_animate_done {
opacity: 1;
transform: translate(0, 0);
}
.screen-1__shadow {
transition: all 1s;
}
.screen-1__shadow_animate_init {
opacity: 0;
transform: translate(0, 100%);
}
.screen-1__shadow_animate_done {
opacity: 1;
transform: translate(0, 0);
}<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> <link rel="stylesheet" type="text/css" href="css/base.css" /> <link rel="stylesheet" type="text/css" href="css/index.css" /> <link rel="stylesheet" type="text/css" href="css/animate.css" /> </head> <body> <!-- 头部导航栏 --> <header class="header"> <div class="header__wrap"> <div class="header__logo">慕课手机</div> <nav class="header__nav"> <a href="javescript:;" class="header__nav-item header__nav-item__status__active" >首页</a > <a href="javescript:;" class="header__nav-item">型号</a> <a href="javescript:;" class="header__nav-item">说明</a> <a href="javescript:;" class="header__nav-item">其他产品</a> <a href="javescript:;" class="header__nav-item header__nav-item__custom__button" >立即购买</a > </nav> </div> </header> <!-- 第一屏 --> <div class="screen-1"> <h2 class="screen-1__heading"><b>慕课手机</b> 让你的生活更精彩</h2> <div class="screen-1__phone"></div> <div class="screen-1__shadow"></div> </div> <!-- 第二屏 --> <div class="screen-2"> <h2 class="screen-2__heading">优美的设计,更令人着迷</h2> <h3 class="screen-2__subheading"> 采用受欢迎的设计,让它更加出色。<br /> 款式小巧、轻便手感更舒适。绚丽高清的显示屏,整个外观显得格外精致。 </h3> <div class="screen-2__phone"> <div class="scree-2__point scree-2__point_i_1">高清摄像</div> <div class="scree-2__point scree-2__point_custom_right scree-2__point_i_2" > 超薄机身 </div> <div class="scree-2__point scree-2__point_custom_right scree-2__point_i_3" > 大屏显示 </div> </div> </div> <!-- 第三屏 --> <div class="screen-3"> <div class="screen-3"> <div class="screen-3__wrap"> <h2 class="screen-3__heading">外形小巧,功能强大的手机</h2> <h3 class="screen-3__subheading"> 采用受欢迎的设计,让它更加出色。<br /> 款式小巧、轻便手感更舒适。绚丽高清的显示屏,整个外观显得格外精致。 </h3> <div class="screen-3__phone"></div> <div class="screen-3__features"> <div class="screen-3__features__item"> <div class="screen-3__features__item__number">5.7</div> <div class="screen-3__features__item__desc">英寸大屏</div> </div> <div class="screen-3__features__item"> <div class="screen-3__features__item__number">1200</div> <div class="screen-3__features__item__desc">万像素</div> </div> <div class="screen-3__features__item"> <div class="screen-3__features__item__number">3D</div> <div class="screen-3__features__item__desc">touch</div> </div> <div class="screen-3__features__item"> <div class="screen-3__features__item__number">A9</div> <div class="screen-3__features__item__desc">处理器</div> </div> </div> </div> </div> </div> <!-- 第四屏 --> <div class="screen-4"> <div class="screen-4__wrap"> <h2 class="screen-4__heading">丰富的手机型号</h2> <h3 class="screen-4__subheading"> 找到适合你的手机 </h3> <div class="screen-4__type"> <div class="screen-4__type__item screen-4__type__item_i-1"> <div class="screen-4__type__item__color">慕课红</div> <div class="screen-4__type__item__storage">32G/64G/128G</div> </div> <div class="screen-4__type__item screen-4__type__item_i-2"> <div class="screen-4__type__item__color">土豪金</div> <div class="screen-4__type__item__storage">32G/64G/128G</div> </div> <div class="screen-4__type__item screen-4__type__item_i-3"> <div class="screen-4__type__item__color">太空灰</div> <div class="screen-4__type__item__storage">32G/64G/128G</div> </div> <div class="screen-4__type__item screen-4__type__item_i-4"> <div class="screen-4__type__item__color">绅士黑</div> <div class="screen-4__type__item__storage">32G/64G/128G</div> </div> </div> </div> </div> <!-- 第五屏 --> <div class="screen-5"> <h2 class="screen-5__heading">游戏、学习、拍照,有这一部就够了</h2> <h3 class="screen-5__subheading"> 看视频、拍摄高清视频与照片、视频聊天、通话相结合,一机多功能,让您生活更丰富精彩。 </h3> <div class="screen-5__bg"></div> </div> <!-- 第六屏 --> <div class="screen-buy"> <a href="javascript:;" class="screen-buy__button">立即购买</a> </div> <!-- 底部 --> <footer class="footer"> © 2016 imooc.com 京ICP备13046642号 </footer> <script type="text/javascript" src="js/text.js"></script> </body> </html>
5
收起
正在回答
2回答
同学你好, 因为你在for循环内部使用return语句,导致只循环一次, 就退出了, 所以无法实现效果
建议修改:

同学可以自己下去测试一下哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星