2011-09-06 78 views
0

我是一个完整的n00b到CSS和JavaScript,所以对不起,如果这可能是基本的东西..我试图放在一起显示建筑物概述的表。 当用户点击任何楼层链接时,一张桌子变成另一张(它们都在不同的div内,当用户移动鼠标时,它会显示更多关于每个单元的信息,无论它是否可用于出租,出售,或不可用 我现在试图创建的是一些链接,它们会在单击时改变每个单元格的背景。例如,当单击显示出租单元时,背景在所有单元格上都会更改,其ID = “租赁”和“都” 审查演示此:http://encanto.ximg.co/overviewdemo.htmlonclick href change td background

继承人的完整源代码(包括CSS)第一个表我敢肯定它的一个messup某处我想显示/隐藏TD细胞太..但我似乎只能找到函数,告诉td改变颜色,当你点击th e td,而不是href。 正如我所说,我是一个完整的n00b,所以请温柔。

<style type="text/css"> 
table.overview a { 
border:none;  
display: block; 
} 

table.overview td { 
    max-height:150px; 
    max-width:150px; 
    background:#96843c; 
} 

div.overview td:hover { 
    background:#ffffff; 
} 

div.overview td.white { 
    background:#ffffff; 
} 

div.overview a { 
color: #ffffff; 
text-decoration:none; 
text-align:center; 
letter-spacing: 1px; 
font-size:16px; 
line-height:32px; 
font-family:"Century Gothic", helvetica, sans-serif; 
padding: 2px 5px; 
} 

div.overview p { 
color:#96843c; 
text-decoration:none; 
text-align:center; 
letter-spacing: 1px; 
font-size:10px; 
line-height:10px; 
font-family:Georgia, "Times New Roman", Times, serif; 
} 

div.overview a:hover { 
color: #96843c; 
background: #ffffff; 
font-family: "Century Gothic"; 
} 



</style> 

<script type="text/javascript"><!-- 

function show_visibility(){ 
for(var i = 0,e = arguments.length;i < e;i++){ 
var myDiv = document.getElementById(arguments[i]).style; 
myDiv.display = "block"; 
} 
} 

function hide_visibility(){ 
for(var i = 0,e = arguments.length;i < e;i++){ 
var myDiv = document.getElementById(arguments[i]).style; 
myDiv.display = "none"; 
} 
} 
</script> 

<table summary="" cellpadding="1" cellspacing="1" class="floor"> 

<tr> 

<td> 
<a href="#"onClick="show_visibility('floor1');hide_visibility('floor2');hide_visibility('penthouse') ">Ground Floor</a> 
</td> 

<td> 
<a href="#" onClick="show_visibility('rental');show_visibility('both');hide_visibility('sales');hide_visibility('na') ">Show Rental Units</a> 
</td> 

</tr> 

<tr> 

<td> 
<a href="#" onClick="show_visibility('floor2');hide_visibility('floor1');hide_visibility('penthouse')">1st Floor</a> 
</td> 

</tr> 

<tr> 

<td> 
<a href="#" onClick="show_visibility('penthouse');hide_visibility('floor1');hide_visibility('floor2')">Penthouse</a></td> 
</tr> 
</table> 


<div id='floor1' class="overview" style="display:none"> 

<table summary="" cellpadding="1" cellspacing="1" class="overview" width="630"> 


<tr> 
<td colspan="12" height="25" class="white"></td> 
</tr> 
<tr> 
<td colspan="1" rowspan="7" width="25" class="white"><img src="http://encanto.ximg.co/calle10.jpg" /></td> 
<td colspan="8" height="25" class="white"><img src="http://encanto.ximg.co/adjacent.jpg" /></td> 
<td colspan="1" rowspan="7" width="25" class="white"><img src="http://encanto.ximg.co/calle12.jpg" /></td> 
<td colspan="1" rowspan="7" width="25" class="white"></td> 
</tr> 


<tr> 
<td colspan="4" id="sale"><a href="http://www.encantoriviera.com/unit14/"onfocus="this.blur()"> 
14</a> 
<p> 
<strong>FOR SALE</strong> 
<br /> 
2 Bed/2 Bath 
<br /> 
1131 sq ft./105 sq m. 
</p> 
</a> 
</td> 

<td colspan="4" id="na"><a href="http://www.encantoriviera.com/real-estate/vacation-rentals/"onfocus="this.blur()">1</a> 
<p> 
<strong>NOT AVAILABLE</strong> 
<br /> 
2 Bed/2 Bath 
<br /> 
1677 sq ft./156 sq m. 
</p> 
</a> 

</td> 
</tr> 


<tr> 
<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()"> 
13 
<p> 
<strong>NOT AVAILABLE</strong> 
<br /> 
1 Bed/ 1.5 Bath 
<br /> 
840 sq ft./78 sq m. 
</p> 
</a> 

</td> 
<td colspan="4" rowspan="4" width="300" class="white"> 
</td> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()"> 
2 
<p> 
<strong>NOT AVAILABLE</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
872 sq ft./82 sq m. 
<br /> 
</p> 
</a> 

</td> 
</tr> 

<tr> 
<td colspan="2" width="150" id="sale"><a href="http://www.encantoriviera.com/unit12/"onfocus="this.blur()"> 
12 
<p> 
<strong>FOR SALE</strong> 
<br /> 
1 Bed/ 1.5 Bath 
<br /> 
850 sq ft./79 sq m. 
<br /> 
</p> 
</a> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()"> 
3 
<p> 
<strong>SOLD</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
1130 sq ft./105 sq m. 
</p> 
</a> 

</td> 
</tr> 


<tr> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()" > 
11 
<p> 
<strong>NOT AVAILABLE</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
1071 sq ft./101 sq m. 
<br /> 
</p> 
</a> 


<td colspan="2" width="150" id="both"><a href="http://www.encantoriviera.com/unit4/"onfocus="this.blur()"> 
4 
<p> 
<strong>FOR SALE AND RENT</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
1092 sq ft./101 sq m. 
</p> 
</a> 
</td> 
</tr> 

<tr> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()" > 
10 
<p> 
<strong>NOT AVAILABLE</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
1087 sq ft./101 sq m. 
</p> 
</a> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()"> 
5 
<p> 
<strong>SOLD</strong> 
<br /> 
2 Bed/ 2 Bath 
<br /> 
1092 sq ft./101 sq m. 
</p> 
</a> 
</td> 
</tr> 

<tr> 
<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/"onfocus="this.blur()"> 
9 
<p> 
<strong>SOLD</strong> 
<br /> 
2 Bed/ 2.5 Bath 
<br /> 
1506 sq ft./140 sq m. 
</p> 
</a> 

</td> 

<td colspan="2" width="150" id="na"><a href="http://www.encantoriviera.com/unit8/"onfocus="this.blur()"> 
8 
<p> 
<strong>FOR SALE AND RENT</strong> 
<br /> 
1 Bed/ 1.5 Bath 
<br /> 
915 sq ft./85 sq m. 
</p> 
</a> 
</td> 

<td colspan="2" width="150" id="sale"><a href="http://www.encantoriviera.com/unit7/"onfocus="this.blur()"> 
7 
<p> 
<strong>FOR SALE</strong> 
<br /> 
1 Bed/ 1 Bath 
<br /> 
824 sq ft./75 sq m. 
</p> 
</a> 

</td> 

<td colspan="2" width="150" id="sale"><a href="http://www.encantoriviera.com/unit6/"onfocus="this.blur()"> 
6 
<p> 
<strong>FOR SALE AND RENT</strong> 
<br /> 
1 Bed/ 1.5 Bath 
<br /> 
869 sq ft./81 sq m. 
</p> 
</a> 

</td> 

</tr> 
<tr> 
<td colspan="12" max-height="25" class="white"><img src="http://encanto.ximg.co/avenida20.jpg" /></td> 
</tr> 

</table> 
</div> 

回答

0

你已经拥有了获得预期结果所需的一切。基本逻辑在你提供的JavaScript函数中都有。您只需告诉JavaScript来更改backgroundColor而不是更改display属性。

我建议使用更多描述性名称(例如:highlightCell)制作两个新函数并更改for循环内部哪些属性发生更改。