2011-04-27 5 views
0

J'ai un champ de recherche avec des onglets JavaScript et CSS qui contrôlent la destination de la recherche. Cependant, lorsque vous cliquez sur un onglet, puis sur un autre, l'onglet précédent reste sélectionné. Est-il possible de faire en sorte que mon code ait l'onglet précédent à désélectionner? J'ai posté une copie de mon code ci-dessous.Onglet Javascript tabulation de la boîte de recherche à onglets

JavaScript My:

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; 
} 

Et puis mon code HTML et 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;"> 

Pour résumer, mon problème est que quand un onglet est sélectionné, puis un différent est sélectionné, le premier l'onglet sélectionné reste sélectionné. Je souhaite que vous compreniez ce que j'essaie de décrire. Merci à l'avance, Callum

Répondre

0

On dirait que cela devrait fonctionner:

var lastTab; 

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

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