Чтобы ответить на вопрос на выходных, я написал кучу кода, и функции были в основном реализованы, но я чувствовал, что структура была слишком бедной, и я не много думал об этом. Совсем не красиво
Кода -копия выглядит следующим образом:
<! Doctype html>
<html>
<голова>
<Title> Название документа </title>
<meta charset = utf-8>
<script src = "lib/jquery-1.8.1.min.js" type = "text/javascript"> </script>
<стиль типа = "text/css">
стол{
Расхождение границы: 0;
}
td {
Высота: 50px;
Ширина: 50px;
Расхождение границы: 0;
}
.скрытый{
дисплей: нет;
}
</style>
</head>
<тело>
<Таблица>
<tr id = "r1">
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr id = "r2">
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<p id = 'log'> </p>
<button type = "button" onclick = "combine ()"> heing </button>
<script type = "text/javascript">
var selectecdlog = [];
var resultlen = 0;
var resultbegin = 0;
var backcolor = ['red', 'green', 'blue']; // Предположим 3 ряда 1 -Red 2 - зеленый 3 - синий
var resultColor = 0;
$ ("td"). Mousedown (function () {
selectecdlog = [];
resultColor = backcolor [$ (this) .parent (). attr ('id'). substr (1) -1];
$ ('td'). css ('founal-color', 'white');
// ID для тега TR
//Alert($( Это).parent().attr('Id '));
// Получить № столбца
//Alert($( Это).index()+1);
$ (this) .css ('founal-color', resultcolor);
selectecdlog.push ($ (this) .attr ('id'));
//Alert($( Это).attr('Id '));
$ ("td"). MouseUp (OnmouseUp);
$ ("td"). Mouseover (Onmouseover);
})
функция onmouseup () {
/ * Действуйте на событие */
var len = resultlen = math.abs (parseint (selectecdlog [0] .substr (selectecdlog [0] .indexof ('c')+1))) - parseint ($ (this) .attr ('id'). subtr (($ (this).
var begin = resultBegin = parseInt (selectEcdlog [0] .substr (selectecdlog [0] .indexof ('c')+1))> parseint ($ (this) .attr ('id'). substr (($ (this) .attr ('id'). indexof ('c'))+1))? parseint ($ (this) .attr ('id'). substr (($ (this) .attr ('id'). indexof ('c'))+1));
для (var i = 0; i <resultlen; i ++)
{
selectecdlog.push (selectecdlog [0] .substr (0,2)+"c"+(resultBegin+i));
}
selectecdlog.shift ();
$ ('#log'). text (selectecdlog.tostring ());
$ ("td"). Bunind ('Mouseover', Onmouseover);
$ ("td"). Bunind ('MouseUp', OnmouseUp);
}
функция OnmouseOver (аргумент) {
var len = resultlen = math.abs (parseint (selectecdlog [0] .substr (selectecdlog [0] .indexof ('c')+1))) - parseint ($ (this) .attr ('id'). subtr (($ (this).
var begin = resultBegin = parseInt (selectEcdlog [0] .substr (selectecdlog [0] .indexof ('c')+1))> parseint ($ (this) .attr ('id'). substr (($ (this) .attr ('id'). indexof ('c'))+1))? parseint ($ (this) .attr ('id'). substr (($ (this) .attr ('id'). indexof ('c'))+1));
$ ('td'). css ('founal-color', 'white');
для (var i = 0; i <len; i ++)
{
$ ('#'+selectecdlog [0] .substr (0,2)+"c"+(begin+i)). css ('фоновый цвет', resultcolor);
}
// alert ($ (this) .attr ('id'). substr (($ (this) .attr ('id'). indexof ('c'))+1));
// $('#'+tdid).css('background-color ',' red ');
}
// Установить атрист идентификатор для каждого TD
$ ("td"). Каждый (функция (index, val) {
/ * Итерация через массив или объект */
$ (this) .attr ('id', $ (this) .parent (). attr ('id')+"c"+($ (this) .index ()+1))});
// комбинируют клетки
функция объединить (аргумент) {
// тело...
для (var m в SelectEcdlog)
{
if (m == 0)
{
$ ('#'+selectecdlog [m]). attr ('colspan', resultlen);
$ ('#'+selectecdlog [m]). css ('width', resultlen*50+"px");
// $('#'+Selectecdlog[ning).css('background-color ',' bule ');
}
еще{
$ ('#'+selectecdlog [m]). addclass ('hidden');
}
}
}
</script>
</body>
</Html>