我正在为博客网站上的自定义主题开发网站。我想要一个评论部分,但我只希望每页刷新一次评论。我想知道是否有任何方法用jQuery或javascript编写脚本(我不确定哪一个)从数组中选择一个随机元素(所有评论都有一个单独的元素,每个人都有不同的div具有不同评论的ID)并在名为#reviews的div中显示该元素,并隐藏其他元素?这听起来很混乱,但基本上我需要jQuery或javascript来选择评论并将其放入评论部分。如果有人能提供帮助,我们将非常感激。
答案 0 :(得分:3)
这是jsFiddle
的一种方式<aside id="reviews">
<article class="review"></article>
<article class="review"></article>
<article class="review"></article>
</aside>
和
var $reviews = $('#reviews .review').hide();
$reviews.eq(Math.random()*$reviews.length).show();
但除非你打算在某些时候(滑块或分页)揭示其他评论,否则你应该真的做这个服务器端。发送人员内容只是为了隐藏它有点浪费。
答案 1 :(得分:1)
jQuery 是 JavaScript。要从数组中获取随机元素,请使用Math.random():
function getRandomElement(a) {
return a[Math.floor(Math.random() * a.length)];
}
答案 2 :(得分:0)
我会使用knockout.js,它非常适合将JavaScript对象绑定到DOM。您可以填充对象的数组并将数据绑定到div。每次将数组的随机元素绑定到div。数据绑定非常简单:
<p>First name: <input data-bind="value: firstName" /></p>
// This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
function AppViewModel() {
this.firstName = "Bert";
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
有关更多示例,请参阅以下精彩教程: Knockout.js tutorials