循环自定义attr

时间:2014-10-10 15:09:40

标签: jquery loops attr

我正在寻找一个像这样计算的循环

1 , 0.8 , 0.6, 0.4 , 0.2 , 0.2 , 0.4 , 0.6 , 0.8 , 1

并附加到自定义attr "data-depth",其中li元素i到目前为止已完成类似内容,我无法继续

for (var i = 0; i < 5; i++) {
    $tiles.eq(i).attr('data-depth', -(i*0.2-1));
}

然后返回第一部分"1 , 0.8 , 0.6, 0.4 , 0.2 "

任何人都可以帮助我?

修改

强大的社区你能否提出这个问题,即使我没有写下我为解决问题所做的尝试(我很抱歉),有些人帮助了我,我非常感谢他

2 个答案:

答案 0 :(得分:1)

我猜你想要从那里下降到0.2以上。检查下面的演示,该演示在达到极限后使用方向增量。

注意:您可能需要根据需要更新迭代次数和增量。

var direction = -1, initValue = 1.0, limit = 0.2;
for (var i = 0; i < 10; i++) {
    if (initValue.toFixed(2) < limit) {
        initValue = limit;
        direction = 1;
    }    
    document.getElementById('test').innerHTML += '<p>' + initValue.toFixed(2) +'</p>';
    initValue = initValue + (0.2 * direction);
}
<div id="test"></div>

答案 1 :(得分:1)

重复版......

http://jsfiddle.net/2wb9koec/1/

var count = 0;
var i = 1.2;
var ul = jQuery("ul");
var step = -0.2;

while(count<50) {
    if(i===0.2) {
        if(step<0) {
            i = 0;
            step = 0.2;
        }
    } else if(i>=1) {
        if(step>0) {
            i = 1.2;
            step = -0.2
        }
    }

    i = Math.round((i+step)*100)/100;

    ul.append("<li>"+i+"</li>");

    count++;
}