Динамическое удаление и добавление строк и столбцов в таблице
Когда начал писать скрипт для создания создания шаблонов для вышивки, я даже на знал как он будет выглядеть и что делать. Решив всё делать на JavaScript, начал искать как удалить строки из таблицы, и нашёл вполне вменяемый «мануал» http://sudoku.org.ua/rus/blog/2006/03/09/deltablerows1/ . Только там удалялись лишь строки и по id, для меня id были лишними т.к. удалял я строки снизу, и мне также нужно было не только удаление строк, но и удаление столбцов а так же их динамическое добавление. Вот что получилось:
сама таблица
и две функции
изменение количества строк
var value = control.value;
if(/^[0-9]*$/.test(value)){
var tbody = document.getElementById('canvas').getElementsByTagName('TBODY')[0];
var newwidth = parseInt(value);
var diff = width - newwidth;
if (diff > 0){
//удаляем
for (i = 0; i < height; i++){
for(j = 0; j < diff ; j++){
tbody.rows[i].removeChild(tbody.rows[i].lastChild);
}
}
width = newwidth;
} else if (diff < 0) {
//добавляем
for (i = 0; i < height; i++){
for(j = diff; j < 0 ; j++){
var row = tbody.rows[i];
var td = document.createElement("TD");
row.appendChild(td);
}
}
width = newwidth;
} else {}
} else {
alert("введите число");
control.focus();
}
}
изменение количества столбцов
var value = control.value;
if(/^[0-9]*$/.test(value)){
var tbody = document.getElementById('canvas').getElementsByTagName('TBODY')[0];
var newheight = parseInt(value);
var diff = height - newheight;
if (diff > 0){
//удаляем
for(j = 0; j < diff ; j++){
tbody.removeChild(tbody.lastChild);
}
height = newheight;
} else if (diff < 0) {
//добавляем
for (i = diff; i < 0; i++ ){
var row = document.createElement("TR");
tbody.appendChild(row);
for(j = 0; j < width; j++){
var td = document.createElement("TD");
row.appendChild(td);
}
}
height = newheight;
} else {}
} else {
alert("введите число");
control.focus();
}
}
Рабочий пример можно глянуть тут
в JavaScript не силён, поэтому что то может быть и неправильно, но работает)
17.10.2008 в 17:53
После уже я вспомнил про прогу, которая конвертирует графические рисунки в текст, основанной на среднем значении RGB пикселей в поделенном участке рисунка. При этом можно как уменьшать так и увеличивать количество блоков, а точнее количество символов. Так вот ее тоже можно использовать в качестве создания сетки шаблонов. А что взял любой рисунок или нарисовал, а потом лишь конвертнул в набор необходимых символов. Прога ImgToTxt
18.10.2008 в 02:53
После уже я вспомнил про прогу, которая конвертирует графические рисунки в текст, основанной на среднем значении RGB пикселей в поделенном участке рисунка. При этом можно как уменьшать так и увеличивать количество блоков, а точнее количество символов. Так вот ее тоже можно использовать в качестве создания сетки шаблонов. А что взял любой рисунок или нарисовал, а потом лишь конвертнул в набор необходимых символов. Прога ImgToTxt
17.10.2008 в 23:51
хз хз, к тому же виндой не пользуюсь) дома по крайней мере.
18.10.2008 в 08:51
хз хз, к тому же виндой не пользуюсь) дома по крайней мере.
07.12.2011 в 16:58
аффтар идиот