JavaScript显示特定时间段内的数组元素
我对JavaScript比较陌生,正在做一些练习。我正在尝试创建一个练习,在这个练习中,当页面每次加载5秒时,客户评论就会显示出来。每个审阅都是一个对象数组元素。因此,我试图找出如何循环遍历对象数组并显示每个元素,每次显示5秒。我做了一些研究,这就是我能想到的。我离你很近吗 var customerReviews={ 丹尼斯·威尔逊:[ 我绝对喜欢这家餐厅!食物太棒了。气氛很好 她很受欢迎。 ], 罗素·布朗:[ 伊妮德餐厅是镇上最好的地方。很棒的食物,很好的员工 和 非常干净的地方。 ], 达娜·埃文斯:[ 第一次来这里,我必须说我印象深刻。一定会的 我会回来的,玩得开心。 ], 比拉尔·斯科特:[ 我小时候就来过这里,那时很喜欢,现在仍然很喜欢 现在,最好的! ] }; 函数showCustomerReviews{ 对于i=0;iJavaScript显示特定时间段内的数组元素,javascript,jquery,arrays,display,Javascript,Jquery,Arrays,Display,我对JavaScript比较陌生,正在做一些练习。我正在尝试创建一个练习,在这个练习中,当页面每次加载5秒时,客户评论就会显示出来。每个审阅都是一个对象数组元素。因此,我试图找出如何循环遍历对象数组并显示每个元素,每次显示5秒。我做了一些研究,这就是我能想到的。我离你很近吗 var customerReviews={ 丹尼斯·威尔逊:[ 我绝对喜欢这家餐厅!食物太棒了。气氛很好 她很受欢迎。 ], 罗素·布朗:[ 伊妮德餐厅是镇上最好的地方。很棒的食物,很好的员工 和 非常干净的地方。 ], 达
一般来说,如果您希望在设置的时间间隔内发生某些事情,那么setInterval是setTimeout的更好替代方案。您可以启动它并让它运行,而不会出现与for循环中的超时相关的问题 在这里,我对您的代码做了一些修改,使customerReviews成为一个真正的数组,其中包含以审阅者的名称和审阅本身作为属性的审阅对象。然后,只需运行setInterval并增加索引。要使其循环,这需要索引mod%array.length 如果你想阻止它,你可以使用 var customerReviews=[ { 姓名:丹尼斯·威尔逊, 评论:我绝对喜欢这家餐厅!食物太棒了,气氛太热情了。 }, { 姓名:罗素·布朗, 评论:伊妮德餐厅是镇上最好的地方。食物很好,员工很好,地点也很干净。 }, { 姓名:Dana Evans, 回顾:第一次来这里,我必须说我印象深刻。肯定会回来的。玩得开心。 }, { 姓名:比拉尔·斯科特, 评论:我从小就来到这里。我当时很喜欢它,现在仍然很喜欢。最好的! } ]; 函数showCustomerReviews{ 设i=0 //设定初步审查 let review=customerReviews[i++%customerReviews.length] $'displayReviews'.textreview.name+:+review.review; //每隔一段时间换一次 设置间隔函数{ let review=customerReviews[i++%customerReviews.length] $'displayReviews'.textreview.name+:+review.review; }, 5000; } showCustomerReviews 查看下面的Enid餐厅客户评论 Enid的客户评论
你的代码有一大堆问题。你有臭名昭著的for循环错误,所有超时都将在5秒钟内执行,你有一个错误,不管是什么。显示的是你引用的字符串之间有换行符,你的实际代码是这样的吗?这将给您一个语法错误无效或意外的令牌。我已修复了您的代码格式,但仍保留了该错误。
<body onload="showCustomerReviews()">
<div id="reviewsPage">
<h2>Check out Enid's Restaurant Customer Reviews below</h2>
<div id="reviewsBox">
<p>Enid's Customer Reviews</p>
<p id="displayReviews"></p>
</div>
</div>