2012-04-14 61 views
2

我正在網站上爲我的自定義主題在博客網站上工作。我希望有一個評論部分,但我只想每頁刷新一次評論。我想知道是否有任何方法用jQuery或JavaScript編寫腳本(我不確定哪一個)從數組中挑選一個隨機元素(所有評論將有一個單獨的元素,每個人有不同的div ID與不同的審查),並顯示在一個名爲#reviews的div內的元素,並隱藏其他元素?這聽起來很混亂,但基本上我需要jQuery或JavaScript來選擇評論並將其放入評論部分。如果任何人可以幫助它將不勝感激。Javascript或jQuery頁面刷新時顯示隨機元素

+0

只是想指出,這是不可能使用jQuery沒有JavaScript因爲jQuery是一個JavaScript庫。 – 2012-04-14 17:10:42

+0

謝謝,我是Javascript新手。 – 2012-04-14 17:13:45

回答

1

jQuery is JavaScript。從數組中獲得一個隨機元素,使用的Math.random():

function getRandomElement(a) { 
    return a[Math.floor(Math.random() * a.length)]; 
} 
+0

我將如何去把所有的元素放在數組中,並在#review中顯示隨機元素? – 2012-04-14 17:14:09

2

這裏有一種方法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();​ 

但除非你打算透露其他在某些時候(滑塊,或分頁)的評論,你應該真的做這個服務器端。發送人物內容僅僅是爲了隱藏它有點浪費。

+0

我不會顯示其他評論,只有每頁加載一個。 – 2012-04-14 17:19:17

+0

小提琴不起作用,或者您重新創建它不起作用?刷新該鏈接將隨機給你一個'.review'。 – Sinetheta 2012-04-14 17:27:59

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

相關問題