2017-03-07 225 views
0
<script type='text/javascript'> 
function showDiv() { 
    if (document.getElementById('hiddenDiv').style.display == 'block') { 
     document.getElementById('hiddenDiv').style.display = 'none'; 
    } else { 
     document.getElementById('hiddenDiv').style.display = 'block'; 
    } 
} 

顯示/隱藏一個div PHP的WordPress

<div id="hiddenDiv" style="display:none;" class="quiz" > 
    <?php 

    if (basename($_SERVER['REQUEST_URI']) == '?lang=intermediate'): 
     echo do_shortcode(get_post_meta($post->ID, 'intermediate_quiz', true)); 
    elseif (basename($_SERVER['REQUEST_URI']) == '?lang=advanced'): 
     echo do_shortcode(get_post_meta($post->ID, 'advanced_quiz', true)); 
    else: 
     echo do_shortcode(get_post_meta($post->ID, 'beginner_quiz', true) ); 
    endif; 

    ?> 

</div> 
<input type="button" name="answer" value="Show Div" onclick="showDiv()" /> 

目前我正在試圖隱藏在wordpress的一個single.php中一個div。我成功設法隱藏它,並顯示按鈕,但當我點擊按鈕沒有出現/發生。

有人知道發生了什麼事嗎?

+3

代碼demonstrably作品:https://jsfiddle.net/vdv7Lr55/你有這說明問題的例子嗎? – David

+0

ReferenceError:showDiv is not defined [瞭解更多] business-pos:1:1 \t onclick https://www.studythenews.com/business-pos/:1:1 – hiddenjelly

+1

如果函數沒有定義,那麼它沒有定義。也許你在一個單獨的文件中定義它,並忘記包含它?您可能在嘗試定義它時遇到了一些其他錯誤?也許別的東西是錯的?代碼就這樣工作得很好。 – David

回答

0

我設法解決它。

我把腳本放到single.php中,而不是在「額外的Javascript」中,而不是在div下面。

我的代碼:

<input type="button" name="quiz" value="Take Quiz" onclick="showDiv()" /> 
<div id="quiz" style="display:none;" class="quiz" > 


    <?php 

    if (basename($_SERVER['REQUEST_URI']) == '?lang=intermediate'): 
     echo do_shortcode(get_post_meta($post->ID, 'intermediate_quiz', true)); 
    elseif (basename($_SERVER['REQUEST_URI']) == '?lang=advanced'): 
     echo do_shortcode(get_post_meta($post->ID, 'advanced_quiz', true)); 
    else: 
     echo do_shortcode(get_post_meta($post->ID, 'beginner_quiz', true)); 
    endif; 

    ?> 

</div> 


<script type='text/javascript'> 
function showDiv() { 
if (document.getElementById('quiz').style.display == 'block') { 
    document.getElementById('quiz').style.display = 'none'; 
} else { 
    document.getElementById('quiz').style.display = 'block'; 
} 
} 
</script>