javascript - 在第一次/最后一次点击时循环、显示和隐藏文本/div

标签 javascript html css

如果这是一个愚蠢的问题,我很抱歉,但我正在为网站制作一些东西,无法弄清楚这个问题。

如何让这个 div 出现在第一个按钮点击时,循环遍历数组,然后在数组中的最后一项之后消失?

var myArray = ["Hello", "Thank you", "Goodbye"];
var myIndex = 1;
var print = document.getElementById('print');

print.innerHTML = myArray[0]; //Print first value of array right away.

function nextElement() {
  print.innerHTML = myArray[myIndex++ % myArray.length];
};
#notfound {
  background: #2abfffff;
  padding: 19px;
  margin: 15px;
  color: #fff;
}
<div id="notfound">
  <p><span id="print"></span>.</p>
</div>

<a id="click" href="#" onclick="nextElement();">Click</a>

JSfiddle:http://jsfiddle.net/jBJ3B/382/

最佳答案

因为您不希望 div 在第一次点击之前出现,所以删除带有 //Print first value of array right away. 的行.

一个选择是从-1的索引开始,当索引为0时使元素可见,当索引高于或等于数组长度时隐藏元素:

var arr = ["Hello", "Thank you", "Goodbye"];
var index = -1;
var print = document.getElementById('print');

function nextElement() {
  index++;
  if (index >= arr.length) {
    print.style.visibility = 'hidden';
    return;
  }
  if (index === 0) print.style.visibility = 'visible';
  print.textContent = arr[index];
}
#notfound {
  background: #2abfffff;
  padding: 19px;
  margin: 15px;
  color: #fff;
}
.print {
  visibility: hidden;
}
<div id="notfound">
  <p><span id="print"></span>.</p>
</div>

<a id="click" href="#" onclick="nextElement();">Click</a>

如果您需要元素在进一步点击时重新出现,请使用模数设置 index-1最后:

var arr = ["Hello", "Thank you", "Goodbye"];
var index = -1;
var print = document.getElementById('print');

function nextElement() {
  index++;
  if (index >= arr.length) {
    print.style.visibility = 'hidden';
    index = -1;
    return;
  }
  if (index === 0) print.style.visibility = 'visible';
  print.textContent = arr[index];
}
#notfound {
  background: #2abfffff;
  padding: 19px;
  margin: 15px;
  color: #fff;
}
.print {
  visibility: hidden;
}
<div id="notfound">
  <p><span id="print"></span>.</p>
</div>

<a id="click" href="#" onclick="nextElement();">Click</a>

关于javascript - 在第一次/最后一次点击时循环、显示和隐藏文本/div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52030315/

相关文章:

javascript - 使图标在 anchor 标记内可点击

javascript - jQuery 数据表和 jScrollPane - 表头不滚动

javascript - 如何使用 Lodash java 脚本库进行模糊搜索?

HTML.Dropdownlist 自动完成

javascript - 用户授权/未授权访问网页并导致错误

javascript - 在 html 代码中使用 js 文件中的全局变量

javascript - 如何将 div 粘贴到页脚?

javascript - 使用 CSS 和 JS flex 一条线(路径)?

html - 如何设置 google cse 样式

javascript - Jquery 显示/隐藏更多数据