2012-07-11 68 views
1

所以我想顯示隨機div的,我在這裏發現了這個計算器的解決方案:Showing random divs using Jquery顯示與JavaScript隨機格

與正確答案使用此代碼:http://jsfiddle.net/nick_craver/RJMhT/

所以我想要做的上述情況,但對於我的生活,我不知道如何。

我認爲這將是作爲

<html> 
<head> 
<script type="text/javascript"> 
var divs = $("div.Image").get().sort(function() { 
    return Math.round(Math.random())-0.5; //random so we get the right +/- combo 
    }).slice(0,4) 
$(divs).appendTo(divs[0].parentNode).show();​​ 
</script> 
<style type="text/css"> 
div.Image { 
    display: none; 
}​ 
</style> 
</head> 
<body> 
    <div class="Image"><img src="/image1.jpg">1</div> 
    <div class="Image"><img src="/image2.jpg">2</div> 
    <div class="Image"><img src="/image3.jpg">3</div> 
    <div class="Image"><img src="/image4.jpg">4</div> 
    <div class="Image"><img src="/image5.jpg">5</div> 
    <div class="Image"><img src="/image6.jpg">6</div> 
    <div class="Image"><img src="/image7.jpg">7</div>​ 
</body> 
</html> 

但顯然不是那麼簡單,因爲什麼也不顯示我的屏幕上。有人能幫助我嗎?我認爲對於那些對JavaScript沒有多少了解的人來說,應該真的很容易。

謝謝你!

+1

這不是一個很好的隨機排序的DIVS。如果你運行了很多次,你會發現某些組合的出現比機會預測的要多得多。一個更好的隨機洗牌可能是[Fisher-Yates算法](http://en.wikipedia.org/wiki/Fisher-Yates_shuffle)。 – 2012-07-11 03:05:56

+0

相關:http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html – Guffa 2012-07-11 21:22:08

回答

4

您正在解析頁面正文的HTML代碼之前正在運行腳本,因此元素尚不存在。

放入ready活動頁面代碼:

$(document).ready(function(){ 
    // your Javascript code goes here 
}); 

你也缺少包括jQuery庫,如康納顯示。

+0

所以JavaScript會閱讀如下,是否正確? 如果是這樣,它仍然無法正常工作......也許我的網頁上有某些內容有衝突,或者還有更多內容出現? – user1411876 2012-07-11 01:43:43

+0

如果難以閱讀,我基本上添加了jquery代碼並將代碼包裝在$(document).ready(function(){和 })之間; 什麼也沒有顯示出來,並且源代碼顯示我的代碼在那裏:/ – user1411876 2012-07-11 01:46:34

+0

@ user1411876:是的,應該可以工作。註釋掉CSS規則,以便看到圖像顯示出來。然後檢查瀏覽器中的控制檯是否有Javascript錯誤消息。 – Guffa 2012-07-11 01:56:05

2

您需要導入jQuery庫。

你的JavaScript代碼之前添加

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 

<head>標籤。