就像我的描述一样。
<div id="step2" class="question">
<p>Step two:</p>
<div id="resultOne" class="script">
<p>"Test Yes!</p>
</div>
<div id="resultTwo" class="script">
<p>"Test No"</p>
</div>
</div>
上面的div没有响应按钮点击。似乎甚至没有调用相应的JS函数。
我知道这可能是一个小的语法错误,但我找不到它的生命。
感谢您的帮助。
答案 0 :(得分:1)
我无法让它在小提琴中工作,它说nextStep功能不可用。 但是这个nextStep的定义应该有效:
function nextStep(divShow, divHide, divReveal) {
var show = document.getElementById(divShow);
var hide = document.getElementById(divHide);
var reveal = document.getElementById(divReveal);
show.style.display = "inline-block";
hide.style.display = "none";
if (reveal.style.display == "none")
reveal.style.display = "block";
}
将按钮更改为:
<button type="button" onclick="javascript:nextStep('resultOne', 'resultTwo', 'step2')">Yes</button>
<button type="button" onclick="javascript:nextStep('resultTwo', 'resultOne', 'step2')">No</button>
请注意“getElementById调用中的参数已经消失了吗?你想要得到的是名为divShow的元素,而不是变量内容所引用的元素。
答案 1 :(得分:0)
似乎没有调用该函数,因为jsfiddle将你的javascript包装在一个在窗口加载时执行的匿名函数中。这意味着您声明的函数的范围仅在该函数内。
相反,尝试将其作为全局函数附加
window.nextStep = function (divShow, divHide, divReveal) {
var show = document.getElementById(divShow);
var hide = document.getElementById(divHide);
var reveal = document.getElementById(divReveal);
show.style.display = "inline-block";
hide.style.display = "none";
if (reveal.style.display == "none")
reveal.style.display = "block";
}