2011-04-27 68 views
0

我有一个搜索框,其中包含JavaScript和CSS选项卡,用于控制搜索的目标。但是,当您单击一个选项卡然后选择另一个选项卡时,先前的选项卡仍保持选中状态。有没有办法让我的代码有以前的选项卡被取消选择?我已经在下面发布了我的代码的副本。Javascript选项卡式搜索框选项卡highlighing

我的javascript:

var isDOM = (document.getElementById ? true : false); 
function getElement(id){ 
if (isDOM) { return document.getElementById(id); } 
} 

function pageSheetClick(pageSheet){ 
    if (pageSheet && pageSheet.id){ 
     mode=0; 
     pageSheet.className = 'bookmarkCenterSel'; 
     selectedPageSheet = pageSheet; 
    } 
} 

function CheckKey(e){ 
if(typeof(e.keyCode) == 'number') { 
e = e.keyCode; 
} 
if (e == 13){ 
changePage(getElement('q').value); 
} 
} 

function changePage(findtext){ 
var tmp=findtext; 
    if (mode==0) { 
    pId = selectedPageSheet.id.split('_'); 
    if (pId[0]=='web') 
     html="/search/"+tmp+"/1/"; 
    if (pId[0]=='images') 
     html="/images/"+tmp+"/1/"; 
    if (pId[0]=='videos') 
     html="/videos/"+tmp+"/1/"; 
    if (pId[0]=='news') 
     html="/news/"+tmp+"/1/"; 
    if (pId[0]=='twitter') 
     html="/twitter/"+tmp+"/1/"; 
    } if (tmp!="") 
    window.location=html; 
} 

然后我的HTML和CSS:

<style type="text/css"> 
.bookmarkCenterSel{ 
text-align:center; 
font-weight:bold; 
text-decoration:none; 
} 
</style> 

<table cellspacing="0" cellpadding="0"> 
<tr> 
<td id="web_center" class="bookmarkCenter" onclick="pageSheetClick(this);"><a href="javascript:void(null);">Web</a></td> 
<td id="images_center" class="bookmarkCenter" onclick="pageSheetClick(this);"><a href="javascript:void(null);">Images</a></td> 
<td id="videos_center" class="bookmarkCenter" onclick="pageSheetClick(this);"><a href="javascript:void(null);">Videos</a></td> 
<td id="news_center" class="bookmarkCenter" onclick="pageSheetClick(this);"><a href="javascript:void(null);">News</a></td> 
<td id="twitter_center" class="bookmarkCenter" onclick="pageSheetClick(this);"><a href="javascript:void(null);">Twitter</a></td> 
</tr> 
</table> 
<input type="text" id="q" name="q" onkeypress="CheckKey(event);return true;"> 

总结一下,我的问题是,当选择了一个选项卡,然后一个不同的选择,所以第一所选标签保持选定状态

我希望你能理解我想要描述的东西。 由于提前,卡勒姆

回答

0

看起来这应该工作:

var lastTab; 

function pageSheetClick(pageSheet){ 
    if(pageSheet && pageSheet.id){ 
     mode = 0; 
     pageSheet.className = 'bookmarkCenterSel'; 
     selectedPageSheet = pageSheet; 

     if(lastTab != null) lastTab.className = ""; 
     lastTab = pageSheet; 
    } 
}