如何在数组被释放后使其重复
how to make an array repeat after it has been exausted
我有这个数组(用于背景div 颜色),我让它工作了一次,但仅此而已......任何帮助将不胜感激。
$(function(){
// console.log('Hello, I am working');
var App = {
init: function(){
// var Colors = ['red', 'blue', 'yellow', 'green', 'pink', 'orange'];
// console.log('Hello, I am working');
App.colorLinks();
},
colorLinks: function(){
// $('body').find('a').addClass('love');
// console.log(this.parent)
var Colors = ['red', 'blue', 'yellow', 'green', 'pink', 'orange'];
for (var i = 0; i < Colors.length; i++) {
var AnchorList = $('a').length;
for (var i = 0; i < AnchorList; i++) {
$('body').find("a:eq("+i+")").addClass(Colors[i]);
};
// $('body').find('a').addClass(Colors[i]);
};
// console.log($('a').length);
}
};
App.init();
});
两种常见的方法是使用余数运算符 % 或简单的 if 检查:
var links = Array.prototype.slice.call(document.links,0);
links.forEach(function(link,i){
link.classList.add(Colors[i % Colors.length])); // using remainder
});
使用 if 检查:
var j = 0;
for(var i =0; i < document.links.length; i++, j++){
document.links[i].classList.add(colors[j]);
if(j === Colors.length) j = 0;
}
var Colors = ['red', 'blue', 'yellow', 'green', 'pink', 'orange'];
$.each('a', function(i,v){
$(this).addClass(Colors[i % Colors.length]);
});
请记住,这将循环,但它可能与预期的开始不完全匹配,因为长度不是基于 0 索引的,但我会的。另外,使用模数将返回余数。最后,你会得到一个循环的颜色数组,所以也许这些细节都不重要。
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- 如何通过数组更新角度子范围
- 释放关联数组
- 通过将数组的长度设置为零来释放数组的内存是一种好做法吗?
- 如何在数组被释放后使其重复