2011-11-16 158 views
0

應該是簡單明瞭的,但我沒有得到這裏的錯誤。簡單的JavaScript顯示/隱藏內容。嘗試顯示 - 塊/無和可見性 - 顯示/隱藏。不工作.. 如果所有名爲npctext_X的div可見性都設置爲可見,它將起作用。但我需要他們被隱藏,becouse這將是作爲對話...Javascript取消隱藏內容

<script type="text/javascript"> 

function npcfunkc(karodyt,senas){ 

var showit = 'npctext_'+karodyt; 
var hideit = 'npctext_'+senas 

//document.getElementById(showit).style.display='block'; 
//document.getElementById(hideit).style.display='none'; 

document.getElementById(showit).style.visibility = 'show'; 
document.getElementById(hideit).style.visibility = 'hidden'; 
} 
</script> 


<div class='npctalk'> 

<div id='npctext_1' style='visibility:visible;'>text 1 text 1 text 1 <br /><br /> 
    <button onclick='npcfunkc(2,1)'>show 2 [hide 1] 
    </button><br /> 
    <button onclick='npcfunkc(3,1)'>show 3 [hide 1] 
    </button><br /> 
</div> 

<div id='npctext_2' style='visibility:hidden;'>text 2 text 2 text 2 <br /><br /> 
    <button onclick='npcfunkc(1,2)'>show 1, [hide 2] 
    </button><br /> 
    <button onclick='npcfunkc(3,2)'>show 3, [hide 2] 
    </button><br /> 
</div> 

<div id='npctext_3' style='visibility:hidden;'>text 3 text 3 text 3 <br /><br /> 
    <button onclick='npcfunkc(2,3)'>show 2, [hide 3] 
    </button><br /> 
    <button onclick='npcfunkc(1,3)'>show 1, [hide 3] 
    </button><br /> 
</div> 

</div> 
+0

歡迎使用stackoverflow!請參閱常見問題解答部分,瞭解有關標記的任何幫助。我編輯了代碼縮進標記。 - http://stackoverflow.com/editing-help – Smamatti

+0

是否有一個特別的原因,爲什麼你不使用像YUI或jQuery的JS庫? –

+0

該腳本適用於我,因爲我嘗試過使用display:block/none – david

回答

1

作爲最佳實踐和潛在的解決您的問題,您應該使用CSS類,添加或刪除從這些類你的對象。

This Tutorial may help you。

+0

如何向對象中添加或刪除類以隱藏或顯示它們? – blankabout

+0

@blankabout最好使用類,而不是直接設置對象的樣式屬性。 如何實現元素的實際隱藏或顯示留給開發人員來決定。 – MateusBR

+0

儘管使用CSS而不是內聯樣式是一種很好的做法,但您應該在回覆中明確指出,從對象中添加或刪除類肯定不是隱藏或顯示問題的好方法。 – blankabout

0

m您正在向您的功能發送整數。嘗試用這樣的引號來包裝它們以將它們轉換爲字符串....

npcfunkc("2", "1")