【发布时间】:2017-06-12 05:34:48
【问题描述】:
我有一个带有“上一个”和“下一个”按钮的页面来遍历一个 div 数组。
单击下一个按钮会将 var 'click' 索引的下一个 div 复制到 #place 的 innerHTML。
单击上一个按钮将复制上一个 div,就像您想象的那样。
问题是,当我交替单击按钮时(单击上一个和下一个,上一个然后下一个...),div 将保持原样,不会更改为下一个或上一个 div,除非我单击相同按钮两次。
当交替单击时,一条简单的警报消息将确认功能正在执行。这是怎么回事?谢谢。
var clicks = 0;
var pageDivs = document.getElementsByClassName("plist");
var displayPanel = document.getElementById("place");
function g() {
if (clicks >= pageDivs.length) {
clicks = 0;
}
displayPanel.innerHTML = pageDivs[clicks].innerHTML;
clicks += 1;
}
function f() {
clicks -= 1;
if (clicks < 0) {
clicks = pageDivs.length - 1;
}
displayPanel.innerHTML = pageDivs[clicks].innerHTML;
}
.plist {
display: none;
}
#place {
background-color: lightskyblue;
min-height: 5%;
min-width: 10%;
}
<div id="place">
<p></p>
</div>
<div class="plist">
<p>Testing 1</p>
</div>
<div class="plist">
<p>Testing 2</p>
</div>
<div class="plist">
<p>Testing 3</p>
</div>
<div class="plist">
<p>Testing 4</p>
</div>
<div class="plist">
<p>Testing 5</p>
</div>
<button type="button" onclick="f()" style="width: 10%;">Previous</button>
<button type="button" onclick="g()" style="width: 10%;">Next</button>
【问题讨论】:
标签: javascript html innerhtml