我正在尝试用div创建一个“图表”。如果用户点击下一步它会显示下一个div等等(这已经完成),但是我想要达到的是,有时一些div会有一个带有“是”或“否”按钮的问题,那些按钮将针对某个特定的div。
Ex:Div 1 - 你还好吗?是的 - 转到Div 2 |不 - 转到第3区。
有没有办法使这种动态?所有div都有一个ID。
这是我到目前为止的代码。
HTML
<div id="main">
<h3 class="despistes">Some Title</h3>
<div class="info" id="1" style="display:block">Div 1</div>
<div class="info" id="2">Div 2</div>
<div class="info" id="3">Div 3</div>
<div class="info" id="4">Div 4</div>
<div class="info" id="5">Div 5</div>
<div class="info" id="6">Div 6</div>
<div class="info" id="7">Div 7</div>
<div class="info" id="8">Div 8</div>
<button class="button" onclick="mostraDiv('inicio')" style="float:left">inicio</button>
<button class="button" onclick="mostraDiv('avancar')" style="float:right">seguinte</button>
<button class="button" onclick="mostraDiv('anterior')" style="float:right">retroceder</button>
</div>
JS
var divNo = 0;
function mostraDiv(direction) {
var sel = document.getElementById('main').getElementsByTagName('div');
for (var i=0; i<sel.length; i++) { sel[i].style.display = 'none'; }
switch (direction) {
case 'inicio' : divNo = 0; break;
case 'anterior' : divNo--; break;
case 'avancar' : divNo++; break;
case 'ultima' : divNo = sel.length-1; break;
}
if (divNo > sel.length-1) { divNo = 0; }
else { if (divNo < 0) { divNo = sel.length-1; } }
sel[divNo].style.display = 'block';
}
onload = function() {
mostraDiv('s');
};
我在这里找到的这个功能对我来说很好。
先谢谢。
答案 0 :(得分:1)
试试这个:
<p>Are You OK ?</p>
<button class="button" onclick="goToDiv(2)" style="float:left">Yes</button>
<button class="button" onclick="goToDiv(3)" style="float:left">No</button>
function goToDiv(divNo) {
var sel = document.getElementById('main').getElementsByTagName('div');
for (var i=0; i<sel.length; i++) { sel[i].style.display = 'none'; }
if (divNo > sel.length-1) { divNo = 0; }
else { if (divNo < 0) { divNo = sel.length-1; } }
sel[divNo].style.display = 'block';
}