0
我試圖做一個函數,爲html類使用生成重複的css屬性。該功能分三步工作。Javascript代碼凍結瀏覽器
1 - 從控制檯創建該對象具有:
var obj = new module('prefix', 'suffix');
2-我添加幾個特性:
obj.addProperty('width', 'px', 2);
obj.addProperty('height', 'px', 2);
3 - I運行克隆過程與:
obj.clone('15', '3');
但是,它沒有明顯的原因凍結。 下面是完整的代碼:
<script>
window.cloner_module = function(prefix, suffix) {
this.properties = []
this.prefix = prefix;
this.suffix = suffix;
this.addProperty = function(option, type, side) {
var array = [];
array.push(option, type, side);
this.properties.push(array);
}
this.clone = function(max, step) {
var array = [];
var entry_count = 0;
var innerModuleArray = [];
var moduleArray = [];
var property;
var option;
var type;
var side;
var value;
var string = "";
for (var i = 0; i < max; i + step) {
innerModuleArray = [];
moduleArray = [];
moduleArray.push('.' + prefix + i + suffix + '{');
for (var y = 0; y < this.properties.length; y++) {
property = this.properties[y];
option = property[0];
type = property[1];
side = property[2];
value;
if (!side) {
value = i;
} else if (side == '1') {
value = type + i;
} else if (side == '2') {
value = i + type;
} else {
console.log('"Side" property must be between 0 and 2');
}
string = option + ": " + value + "; ";
innerModuleArray.push(string);
}
moduleArray.push(innerModuleArray);
moduleArray.push('}');
array.push(moduleArray);
entry_count++;
}
this.clones = array;
this.last_entry_count = entry_count;
this.last_step_registered = step;
this.last_max_registered = max;
}
}
</script>
我注意到的第一件事是'obj.clone('15','3')'中的參數被用作數字。所以你會想要像這樣使用它們:'obj.clone(15,3)'。否則,它可能只是爲循環中的每個迭代進行連接。另外''我'不是每個循環更新。 –
也許你錯誤地把'i + = step'當作'i + step'。 –
你有無限循環。 :)使用'for(var i = 0; i
AdityaParab