2013-10-04 73 views
0

我一直在尋找一個好幾個小時的答案現在,所以我不得不訴諸於此來尋求一些幫助。JavaScript,關閉標籤當你打開另一個

問題:我有幾個href標籤,打開地圖或列表取決於您點擊哪個標籤,我的問題是,我需要將地圖設置爲默認打開,當您單擊上市標籤,地圖關閉和打開列表(基本上當你點擊一個,另一個關閉,反之亦然)。

這裏是我的代碼

HTML:

<div class="clearfix"></div> 
<a class="sortby"> 
    SORT BY 
</a> 
<a class="sortby_town" href="javascript:showDiv()"> 
    MAP 
</a> 
<a class="sortby_category" href="javascript:showListings()"> 
    LISTINGS 
</a> 

<div id="townmap" style="display: none; margin-top: 60px;"> 
{loadposition sawbridgeworth} 
</div> 

<div id="townlistings" style="display: none; margin-top: 60px;"> 
{component url='index.php?Itemid=132&option=com_mtree&task=search&searchword=Sawbridgeworth&cat_id=0'} 
</div> 

的JavaScript:

function showDiv() { 
document.getElementById('townmap').style.display = "block"; 
} 

function showListings() { 
document.getElementById('townlistings').style.display = "block"; 
} 

任何幫助,將不勝感激!提前致謝!

回答

1

你試過jQuery Tabs

這是一個很好的插件,它會爲您提供您嘗試創建的功能。

然而,看着你的代碼,你爲什麼不簡單地在那裏有一行來隱藏其他的div?

function showDiv() { 
    document.getElementById('townmap').style.display = "block"; 
    document.getElementById('townlistings').style.display = "none"; 
} 

function showListings() { 
    document.getElementById('townlistings').style.display = "block"; 
    document.getElementById('townmap').style.display = "none"; 
} 

Diplay="none"將隱藏div。或者,如果您使用的是jQuery(如您的標籤所示),您可以嘗試以下操作:

function showDiv() { 
    $('#townmap').show(); 
    $('#townlistings').hide(); 
} 

function showListings() { 
    $('#townlistings').show(); 
    $('#townmap').hide(); 
} 
+0

此作品!我不知道爲什麼我沒有想到使用jQuery哈哈,我想我只是拉了一個完整的愚蠢的時刻和複雜的事情!非常感謝你! –

0

嘗試使用element.style.display =「無」

function showDiv() { 
document.getElementById('townmap').style.display = "block"; 
document.getElementById('townlistings').style.display = "none"; 
} 

function showListings() { 
document.getElementById('townlistings').style.display = "block"; 
document.getElementById('townmap').style.display = "none"; 
} 

要在地圖頁面加載時,你可以將一個函數的文檔,一旦頁面將執行加載

document.attachEvent("onreadystatechange", function(){ 
    this.getElementById('townmap').style.display = "block"; 
}); 

我總是建議使用jQuery而不是純粹的JavaScript。你應該考慮它,如果你以前沒有,因爲你會發現大多數東西將採取比你現在做的方式少得多的腳本