为了账号安全,请及时绑定邮箱和手机立即绑定

js使用foreach遍历,然后对dom进行style.marginLeft操作发现没有用,

js使用foreach遍历,然后对dom进行style.marginLeft操作发现没有用,

ITMISS 2019-03-21 18:15:26
<div class="parent">    <div class="child" data-index="0" style="background-color: red;">1</div>    <div class="child" style="background-color: rebeccapurple;">2</div>    <div class="child" style="background-color: yellowgreen;">3</div></div>js代码如下:(function(){    var child_arr = document.getElementsByClassName("child");    var len = child_arr.length;    var parent = document.getElementsByClassName("parent")[0];    var move_width = parent.offsetWidth;    var index = 0; // 保存当前显示的div索引    function animate() {        var childArr = [].slice.call(child_arr);        if (index === len) {            index = 0;        }        childArr.forEach(function(item, key) {            if (index - key >= 0) {                child_arr[key].style.marginLeft = '-' + move_width * (index - key) + 'px';            } else {                child_arr[key].style.marginLeft = move_width * (key - index) + 'px';            }        })        index++;    }    clearInterval(t);    var t = setInterval(animate, 1000);})()我这种写法就不行,为什么呢?我依然是对Dom元素操作的啊,有没有人知道原因的?求教
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

k ik 这两个在哪里定义的。是不是属性名没改,控制台应该有报错了。你要写的是key


查看完整回答
反对 回复 2019-04-04
  • 2 回答
  • 0 关注
  • 1035 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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