如何用Javascript生成一个20行5列的表格
发布网友
发布时间:2022-04-25 02:42
我来回答
共5个回答
热心网友
时间:2022-04-24 13:03
以前写的一个废材代码,里面有相关内容,你自家看吧:
//????????????
function CreateTable()
{
var tt=document.createElement("table");
var tbody=document.createElement("tbody");
tt.onmouseout=OutDragT;
tbody.onmouseout=CancleBubble;
tt.appendChild(tbody);
tt.border='1';
tt.id='TimeTable';
tt.cellSpacing ="1";//???????????
tt.borderColor="#6699ff";
tt.align='center';
tt.onselectstart =False;
for(var i=0;i<6;i++)
{
var tr=document.createElement("tr");
for(var j=0;j<18;j++)
{
var hd=document.createElement("td");
hd.id=i+'-'+j;
hd.innerHTML=" ";
hd.onmousedown = BeginDrag;
hd.onmousemove = OnDrag;
hd.onmouseup = EndDrag;
hd.className="free";///for test
hd.onmouseover=onshow;
if(i==0)
{
hd=document.createElement("th");
hd.className='timem';
hd.width='30';
if(j==0)
{
hd.innerHTML=" "
}else{
var hour=8+Math.floor(j/2);
var minutes=30*(j%2);
hd.appendChild(document.createTextNode(hour+':'+minutes));
}
}
if(j==0&&i!=0)
{
hd=document.createElement("th");
hd.className='timem';
hd.appendChild(document.createTextNode('?'+i));
}
tr.appendChild(hd);
}
tbody.appendChild(tr);
}
return tt;
}
function SetReserve(id)
{
document.getElementById(id)="reserved";
}
//??????
function CancleBubble()
{
event.cancelBubble=true;
}
//????????
function BeginDrag()
{
if (event.button != 1)
{
return;
}
OrignCell=this.id;
CurrentCell=this.id;
if(ModifyClass())
{
dragging=true;
}else{
alert("????????!");
OrignCell="";
CurrentCell="";
}
}
//????????
function OnDrag()
{
if(dragging==false||this.id==CurrentCell)
{
return;
}
CurrentCell=this.id;
if(!ModifyClass())
{
Reverse()
dragging=false;
OrignCell="";
CurrentCell="";
pope.style.display = 'none';
alert("?????????????!");
}
}
//????
function EndDrag()
{
if(dragging==false)
{
return;
}
dragging==false;
pope.style.top=event.clientY
pope.style.left=event.clientX
pope.style.display = "";
}
//??????????????
function OutDrag()
{
if(dragging==false)
{
return;
}
//???
Reverse();
dragging=false;
}
//Handler for mousemoveout of timetable
function OutDragT()
{
var Tt=document.getElementById("TimeTable");
if(event.clientX<=Tt.offsetLeft||event.clientX>=(Tt.offsetLeft+Tt.offsetWidth)||event.clientY<=Tt.offsetTop||event.clientY>=(Tt.offsetTop+Tt.offsetHeight))
{
OutDrag();
window.status="";
}
}
function False()
{
return false;
}
//??????????????
function ModifyClass()
{
Reverse();
for(var i=X1();i<=X2();i++)
{
for(var j=Y1();j<=Y2();j++)
{
var CName =document.getElementById(i+"-"+j).className;
if(CName.indexOf("reserved")!=-1)
{
return false;
}
if(CName.indexOf("selected")!=-1)
{
continue;
}
if(CName.indexOf("free")!=-1)
{
document.getElementById(i+"-"+j).className="selected";
}
}
}
return true;
}
//??????
function Reverse()
{
for(var i=1;i<6;i++)
{
for(var j=1;j<18;j++)
{
var CName =document.getElementById(i+"-"+j).className;
if(CName.indexOf("selected")!=-1)
{
document.getElementById(i+"-"+j).className="free";
}
}
}
}
//????
function Cancel()
{
pope.style.display = 'none';
OutDrag();
dragging=false;
}
//????
function Reserve()
{
pope.style.display = 'none';
alert("????!")
dragging=false;
}
//???????????
function X1()
{
var Bx,Ex;
var TArray=OrignCell.split('-');
Bx=parseInt(TArray[0]);
TArray=CurrentCell.split('-');
Ex=parseInt(TArray[0]);
return Bx<=Ex?Bx:Ex;
}
//???????????
function X2()
{
var Bx,Ex;
var TArray=OrignCell.split('-');
Bx=parseInt(TArray[0]);
TArray=CurrentCell.split('-');
Ex=parseInt(TArray[0]);
return Bx>=Ex?Bx:Ex;
}
//???????????
function Y1()
{
var Bx,Ex;
var TArray=OrignCell.split('-');
Bx=parseInt(TArray[1]);
TArray=CurrentCell.split('-');
Ex=parseInt(TArray[1]);
return Bx<=Ex?Bx:Ex;
}
//???????????
function Y2()
{
var Bx,Ex;
var TArray=OrignCell.split('-');
Bx=parseInt(TArray[1]);
TArray=CurrentCell.split('-');
Ex=parseInt(TArray[1]);
return Bx>=Ex?Bx:Ex;
}
//???????
function onshow()
{
window.status="Cell:"+OrignCell+"::"+CurrentCell+dragging;
}
热心网友
时间:2022-04-24 14:21
使用document.createElement('tr')可以创建表格的一行,document.createElement('td')创建一列,一般写个循环就能创建好所有的行和列,然后调用appendChild()函数把列附加到行上,使用document.createElement('tbody')创建一个表格,然后依次把列加上,也是用appendChild()方法。
热心网友
时间:2022-04-24 15:55
最简单可以先在页面上安排一个div,或者一个网页元素,然后用javascript访问这个元素,往里面添加table元素,查一下innerHTML这个属性,你就明白了.
热心网友
时间:2022-04-24 17:47
<script type="text/javascript">
document.write("<table border=2>")
for(i=1;i<=20;i++)
{
document.write("<tr><td>"+i+"</td><td>"+i+"</td><td>"+i+"</td><td>"+i+"</td><td>"+i+"</td></tr>" )
}
</script>
热心网友
时间:2022-04-24 19:55
2楼方法可行