嗨,我试图只拉出我构建的数组中的第一个单词 - 然后单击“翻转” - 显示它与之配对的反义词。即拉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">
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
您的问题是$("#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);
&#13;
<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>
&#13;