您好,我试图只提取我构建的数组中的第一个词——然后点击“翻转”——显示它与之配对的反义词。即拉动 0 和 1 但只显示 0 直到单击按钮(然后将 0 切换为 1)。下面的代码工作正常,但截至目前,它正在将这两个词拉出并附加到#input。
这是我的 JS:
var words = [];
words[0] = ['Budding','Accomplished'];
words[1] = ['Curious','Certain'];
words[2] = ['Realistic','Idealistic'];
words[3] = ['Practicle','Imaginative'];
function random_sort () {
return (0.5 - Math.random() );
}
words.sort(random_sort);
var i = 0,
n = words.length;
$("#forward").data('dir', 1);
$("#back").data('dir', -1);
$("#forward, #back").on('click', function() {
i = (i + $(this).data('dir') + n) % n;
$("#input").hide().html(words[i]).fadeIn(100);
$(words[i][1]).hide();
});
$("#back").trigger('click');
和我的 html:
<object id="back" type="image/svg+xml" data="images/arrow.svg"></object>
<p id="input"></p>
<object id="forward" type="image/svg+xml" data="images/arrow.svg"></object>
<img id="flip" src="images/fliptext.svg">
非常感谢任何帮助。谢谢!
最佳答案
你的问题是 $("#input2").hide().html(words[i]).fadeIn(100);
特别是 html(words[i])
等于 html(['Budding','Accomplished'])
并将在将数组添加到 html 之前连接数组。
将其更改为 $("#input2").hide().html(words[i][0]).fadeIn(100);
其中 words[i][ 0]
是专门选择数组中第一个索引处的单词。
var words = [];
words[0] = ['Budding','Accomplished'];
words[1] = ['Curious','Certain'];
words[2] = ['Realistic','Idealistic'];
words[3] = ['Practicle','Imaginative'];
var i=0;
$("#input").hide().html(words[i]).fadeIn(100);
$("#input2").hide().html(words[i][0]).fadeIn(100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<strong>Wrong</strong><div id="input"> </div><br>
<strong>Right</strong><div id="input2"> </div>
关于javascript - 从二维数组中提取两个值但只显示一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886151/