我想要改成動態的,現在效果做好了,就是動態創建數組那里卡主了,希望大神幫忙解答。<style>
ul?{?overflow:hidden;?}
li?{?width:50px;?height:20px;?text-align:center;?line-height:20px;?list-style:none;?border:1px?solid?#dedede;?float:left;?}
</style><input?type="text"?class="js-text"?value=""?/>
<input?type="button"?class="js-btn"?value="確定"/>
<div?class="list?js-list">
<ul></ul>
</div><script>
$(function(){
var?btn?=?$('.js-btn');
var?ul?=?$('.js-list?ul');
var?li?=?$('.js-list?ul?li');
var?text?=?parseInt($('.js-text').val());
var?arr?=?new?Array();
arr[0]?=?new?Array();
arr[1]?=?new?Array();
arr[2]?=?new?Array();
arr[3]?=?new?Array();
arr[4]?=?new?Array();
btn.on('click',function(){
var?text?=?parseInt($('.js-text').val());
var?arr?=?cal(5);
var?stas?=?"";
for(var?i=0;?i<arr.length;?i++){
for(var?j=0;?j<arr.length;?j++){
stas?+=?arr[i][j];
}
stas?+='<br?/><br?/>';
}
ul.html(stas);
});
var?cal?=?function(len){
var?min?=?0;
var?max?=?len?-?1;
var?row?=?0;
var?col?=?0;
for(var?i=0;?i<len*len;?i++){
arr[row][col]='<li>'+(i+1)+'</li>';
if(row?==?min?&&?col?<?max){
col?=?col?+?1;
}else?if(row?<?max?&&?col?==?max?){
row?=?row?+1;
}else?if(row?==?max?&&?col?>?min?){
col?=?col?-?1;
}else?if(row?>?min?&&?col?==?min){
row?=?row?-?1;
}
if(row?-?1?==?min?&&?col?==?min?){
min?=?min?+?1;
max?=?max?-?1;
}
}
return?arr;
}
})
</script>
我想把這個效果改成動態的,就是文本框里輸入幾,那一行就是幾個
依韻S1
2016-12-20 14:33:44