关于js算法行列互换
2015-11-10 19:29
543 查看
HTML代码的话就是
css
body,ul,li{margin: 0;padding: 0;font-family: "黑体";background: #eee;}
li{list-style: none;}
#ul1{margin: 20px auto;border-top: 1px solid #666;border-left: 1px solid #666;overflow: hidden;text-align: center;}
#ul1 li{float: left;border-bottom: 1px solid #666;border-right: 1px solid #666;font-size: 18px;transition:background 1s linear;}
js
var oUl = document.getElementById('ul1');
var aLi = oUl.getElementsByTagName('li');
var size = 10;
var sizeGrid = 60;
var len = size*size;
var arr = [];
oUl.style.width = size*(sizeGrid + 1) + 'px';
oUl.style.height = size*(sizeGrid + 1) + 'px';
for(var i=0; i<len; i++){
var oLi = document.createElement('li');
oLi.style.width = sizeGrid + 'px';
oLi.style.height = sizeGrid + 'px';
oLi.innerHTML = i;
oLi.style.lineHeight = sizeGrid + 'px';
arr.push( i );
oLi.style.background = "rgba(" +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +.5+ ")";
//console.log( arr );
oUl.appendChild( oLi );
}
console.log( aLi.length );
setInterval(function(){
for(var i=0; i<aLi.length; i++){
aLi[i].style.background = "rgba(" +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +.5+ ")";
}
console.log(1);
}, 1500);
arr = changeXY(arr);
//console.log( arr );
for(var i=0; i<arr.length; i++){
aLi[i].innerHTML = arr[i];
}
function changeXY( arr ){
var newArr = [];
var iNow = 0;
(function(){
if(size == iNow){
return;
}
for(var i=0; i<arr.length; i++){
if( i%size == iNow){
newArr.push( arr[i] );
}
}
iNow++;
arguments.callee();
})()
/*for(var i=0; i<arr.length; i++){
if( i%size == iNow){
newArr.push( arr[i] );
}
}*/
//console.log( newArr );
return newArr;
}
<ul id="ul1"></ul>
css
body,ul,li{margin: 0;padding: 0;font-family: "黑体";background: #eee;}
li{list-style: none;}
#ul1{margin: 20px auto;border-top: 1px solid #666;border-left: 1px solid #666;overflow: hidden;text-align: center;}
#ul1 li{float: left;border-bottom: 1px solid #666;border-right: 1px solid #666;font-size: 18px;transition:background 1s linear;}
js
var oUl = document.getElementById('ul1');
var aLi = oUl.getElementsByTagName('li');
var size = 10;
var sizeGrid = 60;
var len = size*size;
var arr = [];
oUl.style.width = size*(sizeGrid + 1) + 'px';
oUl.style.height = size*(sizeGrid + 1) + 'px';
for(var i=0; i<len; i++){
var oLi = document.createElement('li');
oLi.style.width = sizeGrid + 'px';
oLi.style.height = sizeGrid + 'px';
oLi.innerHTML = i;
oLi.style.lineHeight = sizeGrid + 'px';
arr.push( i );
oLi.style.background = "rgba(" +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +.5+ ")";
//console.log( arr );
oUl.appendChild( oLi );
}
console.log( aLi.length );
setInterval(function(){
for(var i=0; i<aLi.length; i++){
aLi[i].style.background = "rgba(" +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +Math.floor(Math.random()*255 + 1)+ "," +.5+ ")";
}
console.log(1);
}, 1500);
arr = changeXY(arr);
//console.log( arr );
for(var i=0; i<arr.length; i++){
aLi[i].innerHTML = arr[i];
}
function changeXY( arr ){
var newArr = [];
var iNow = 0;
(function(){
if(size == iNow){
return;
}
for(var i=0; i<arr.length; i++){
if( i%size == iNow){
newArr.push( arr[i] );
}
}
iNow++;
arguments.callee();
})()
/*for(var i=0; i<arr.length; i++){
if( i%size == iNow){
newArr.push( arr[i] );
}
}*/
//console.log( newArr );
return newArr;
}
相关文章推荐
- cookie和Jsessionid
- JSR 303 - Bean Validation 介绍及最佳实践
- JSP中的Tld文件
- JSP使用jstl取不到数据
- Javascript基本语法,与html,C 语言比较
- js中各种遍历方式
- js笔记
- grunt学习笔记三:gruntfile.js-demo
- grunt学习笔记二:package.js
- JS异步代码执行和同步代码之间的关系
- Javascript获取最近若干个月
- js sort数组根据某字段排序
- ajax.js
- setTimeout.js
- setInterval.js
- userDefineFunc.js
- returnFunc.js
- regular.js
- js求时间差
- inheritPrototypal.js