如何在每次点击时使用javascript计算?

时间:2016-05-27 19:46:37

标签: javascript

我在javascript中有一个简单的flashcard程序。目前,我通过在数组中添加一个数字来计算问题。有没有一种javascript方法可以实现自动化?



var myArray = [
  "Q: What's my name? <div id=number>1</id>", 'A: Heck no.',
  'Q: My age? <div id=number>2</id>', "A: Cool kids don't say.",
  'Q: Fave rocker? <div id=number>3</id>', 'A: Paul Gilbert'
];
var myIndex = 1;
var flashcardFront = document.getElementById('flashcardFront');

flashcardFront.innerHTML = myArray[0];

function flashCards() {
  flashcardFront.innerHTML = myArray[myIndex];
  myIndex = (myIndex + 1) % (myArray.length);
}
&#13;
<div id="card">
  <a id="flashcardFront" href="#" onclick="flashCards();"></a>
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

如果您希望它环绕并开始提问,您可以添加if语句以在增加后检查myIndex >= myArray.length是否为var myArray = [ "Q: What's my name? <div id=number>1</id>", 'A: Heck no.', 'Q: My age? <div id=number>2</id>', "A: Cool kids don't say.", 'Q: Fave rocker? <div id=number>3</id>', 'A: Paul Gilbert' ]; var myIndex = 1; var flashcardFront = document.getElementById('flashcardFront'); flashcardFront.innerHTML = myArray[0]; function flashCards() { flashcardFront.innerHTML = myArray[myIndex]; myIndex++; //check if myIndex is still less than myArray.length if (myIndex >= myArray.length) { myIndex = 0; } }。下面的代码片段就是这样: - )

&#13;
&#13;
<div id="card">
  <a id="flashcardFront" href="#" onclick="flashCards();"></a>
</div>
&#13;
myDataTable.Rows.Cast<DataRow>()
            .Where(r => r.Field<int?>("EmployeeID").HasValue)
            .GroupBy(r => r.Field<int?>("EmployeeID"))
            .Count();
&#13;
&#13;
&#13;

希望有所帮助!

答案 1 :(得分:0)

如果你想摆脱myIndex标签,你可以通过一个简单的计算来生成它,首先请注意,在你的数组中,一个问题是在一个偶数点,所以根据你可以得到问题的数量来自myIndex / 2 + 1 var myArray = [ "Q: What's my name?", 'A: Heck no.', 'Q: My age?', "A: Cool kids don't say.", 'Q: Fave rocker?', 'A: Paul Gilbert' ]; var myIndex = 0; function renderQuestion(index) { // render number if index is even var str = myArray[index] if (index % 2 == 0) { str += '<br><span class="question-number">' + (index / 2 + 1) + '</span>' } return str } function flashCards() { var flashcardFront = document.getElementById('flashcardFront'); flashcardFront.innerHTML = renderQuestion(myIndex); myIndex = (myIndex + 1) % (myArray.length); } flashCards()

&#13;
&#13;
<div id="card">
  <a id="flashcardFront" href="#" onclick="flashCards();"></a>
</div>
&#13;
v1[i]
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

我没有看到阵列的任何用途。如果您不需要它,我会通过使用JavaScript的增量运算符来解决您的问题。 ++

例如:

var myIndex = 1;
var flashcardFront = document.getElementById('flashcardFront');

flashcardFront.innerHTML = myIndex; 

function flashCards() {
    myIndex++;
    flashcardFront.innerHTML = myIndex;
}