Javascript或jQuery在页面刷新时显示随机元素

时间:2012-04-14 17:06:36

标签: javascript jquery

我正在为博客网站上的自定义主题开发网站。我想要一个评论部分,但我只希望每页刷新一次评论。我想知道是否有任何方法用jQuery或javascript编写脚本(我不确定哪一个)从数组中选择一个随机元素(所有评论都有一个单独的元素,每个人都有不同的div具有不同评论的ID)并在名为#reviews的div中显示该元素,并隐藏其他元素?这听起来很混乱,但基本上我需要jQuery或javascript来选择评论并将其放入评论部分。如果有人能提供帮助,我们将非常感激。

3 个答案:

答案 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