2015-12-02 59 views
0

我有某種原因的麻煩,我似乎無法找出如何... 我想提出一個測驗,以至極啓動按鈕啓動,並具有「下一步」按鈕和「上一個」按鈕。當我打的啓動按鈕,問題1和回答1將拿出,並啓動按鈕自敗,當我再點擊下一步它加載在第二個問題,但不是答案2顯示:無/塊的onclick弄亂

我的代碼:

// Hide/Show actions 
function hideStartButton() { document.getElementById("start-button").style.display = "none";} 
function showAnswers1() { document.getElementById("answers1").style.display = "block"; } 
function hideAnswers1() { document.getElementById("answers1").style.display = "none"; } 
function showAnswers2() { document.getElementById("answers2").style.display = "block"; } 
function hideAnswers2() { document.getElementById("answers2").style.display = "none"; } 

完整代碼:http://jsfiddle.net/5jz092cb/

它當我不使用hideAnswer1()負載answers2;否則它出現blanc?

+0

更新我的答案......看來你需要遍歷'的document.getElementById(「答案」)'元素,隱藏一切*除非*您想要的答案/元素,*匹配,則*顯示元素來代替。 – John

+0

是但這需要我居然隱藏和顯示它,那不是正常工作... – kobar1990

回答

1

CSS

.hidden {display: none;} 

的JavaScript

change('answers1','hidden'); 
change(document.getElementById('answers1'),'hidden'); 
//etc. 

function change(id,c) 
{ 
if (id_(id)) {id_(id).className = c; if (id_(id).className=='') {id_(id).removeAttribute('class');}} 
else if (id) {id.className = c; if (id.className=='') {id.removeAttribute('class');}} 
else {alert('Error: the class id \''+id+'\' was not found or has not yet been imported to the DOM.\n\nNew class intended: '+c);} 
} 

此外你需要隱藏顯示圖層同時經常在這些類型的場景,所以你可以很順利需要做類似的事情通過並隱藏所有元素除了你要隱藏的一個。