<script>
$(document).ready(function(){
var names = ['Hannah', 'Lucy', 'Brenda', 'Lauren', 'Mary'];
var liked = [];
var disliked = [];
while(names.length > 0){
document.getElementById('demo').innerHTML = names[i];
function likeOrDislike(choice){
if(choice == 'Like')
{
liked.push(names[0])
names.splice(0, 1)
}
else if (choice == 'Dislike')
{
disliked.push(names[i])
names.splice(0, 1)
}
};
};
});
</script>
我要求while循环继续,直到数组名称为空。 然后我让用户每次用数组中的第一个名称替换文本。 然后,我选择喜欢/不喜欢然后删除数组的第一个名称并重复该过程,直到名称数组为空。
然而,当我在浏览器中加载时,它不会加载页面,因为我认为它被卡在循环中
答案 0 :(得分:3)
除了评论中指出的未定义i
之外,您永远不会更改names
针对names
的所有处理都是在function likeOrDislike()
函数内完成的,您永远不会调用它。
所以这种情况正在发生:
names >0
),然后执行此存根的内容也许你有意做这样的事情 - 这只是一个例子,完全假设你想要实现的目标。
$(document).ready(function(){
var names = ['Hannah', 'Lucy', 'Brenda', 'Lauren', 'Mary'];
var liked = [];
var disliked = [];
$('#yourLikeButton').click(function(){
var name = $(this).data('name'); // on your button put data-name="Hannah"
var idx = names.indexOf(name);
liked.push(names[idx]); // this is if you're playing around with indexes
names.splice(idx, 1); // this is if you're playing around with indexes
});
// similar for your dislike button
});