我在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;
答案 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;
}
}
。下面的代码片段就是这样: - )
<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;
希望有所帮助!
答案 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()
<div id="card">
<a id="flashcardFront" href="#" onclick="flashCards();"></a>
</div>
&#13;
v1[i]
&#13;
答案 2 :(得分:-1)
我没有看到阵列的任何用途。如果您不需要它,我会通过使用JavaScript的增量运算符来解决您的问题。 ++
例如:
var myIndex = 1;
var flashcardFront = document.getElementById('flashcardFront');
flashcardFront.innerHTML = myIndex;
function flashCards() {
myIndex++;
flashcardFront.innerHTML = myIndex;
}