2011-04-27 39 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; 
    } 
}