2012-07-16 271 views
-1

我一直對這個可以顯示/隱藏一些div的隨機DIV(S),當點擊一個鏈接:顯示在頁面加載

My fiddle

但現在我想獲得它,以便它會在頁面加載時隨機顯示其中一個div。

我嘗試添加此:

var $reviews = $(.hider ').hide(); 
$reviews.eq(Math.random()*$reviews.length).show();​ 

但是,它只是似乎打破我所工作過的。有什麼建議麼?

+0

您在那裏有語法錯誤。使它成爲'$('。hider')。hide();'然後再試一次。 – 2012-07-16 19:20:09

+0

*一些div * ...更具體...修正你的代碼'$(。hider').hide();'丟失一個''' – 2012-07-16 19:20:17

+0

DAP!好吧,那就解決了它無法工作的問題。 更具體地說,我試圖讓這兩個div在頁面加載時隨機顯示。基本上我正在爲這個畫廊設置一系列畫廊。當頁面加載時,我想讓其中一個畫廊隨機顯示其標記行。 修復後,我可以讓它顯示一個隨機div,但不是在兩個時間。這裏是更新的小提琴: http://jsfiddle.net/ultraloveninja/jBmH9/8/ – ultraloveninja 2012-07-16 19:32:49

回答

1

這裏是代碼和demo

<div id="brother-gallery" class="hider">Brother Content</div> 
<div id="mitsu-gallery" class="hidden hider">Mitsu Content</div> 
<div id="taki-gallery" class="hidden hider">Taki Content</div> 

<br /><br /> 
<div id="brother-tag" class="hider">Brother Tagline</div> 
<div id="mitsu-tag" class="hidden hider">Mitsu Tagline</div> 
<div id="taki-tag" class="hidden hider">Taki Tagline</div> 

<br /><br /> 
<p><a href="#" class="control" data-field="brother">Brother Link</a></p> 
<p><a href="#" class="control" data-field="mitsu">Mitsu Link</a></p> 
<p><a href="#" class="control" data-field="taki">Taki Link</a></p> 
<p><a href="#" class="random">Random</a></p> 

​ 

$('.control').on('click', function(e) { 
    e.preventDefault(); 
    var field = $(this).data('field'); 
    $('.hider:visible').fadeOut("slow", function() { 
     $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow"); 
    }); 
}); 

$('.random').on('click',function(e){ 
    var randomIndex = Math.floor((Math.random()*100)+1)%3; 
    console.log(randomIndex); 
    var field = $($('a').get(randomIndex)).data('field'); 
    $('.hider:visible').fadeOut("slow", function() { 
     $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow"); 
    }); 
});​ 
+0

感謝您!但我試圖得到它,所以隨機在頁面加載。 – ultraloveninja 2012-07-16 19:52:30

+0

所以使用與隨機函數相同的想法,並將其包含在$(function(){....})中; – Nir 2012-07-16 20:41:04

+0

我基本上這樣做: http://jsfiddle.net/ultraloveninja/JmVUx/ 只需要它,所以它不顯示在頁面加載的兄弟東西,然後去隨機div。 – ultraloveninja 2012-07-16 20:53:43

0

嘗試:

var reviews = $('.hider'); 
reviews.hide(); 
var index = Math.floor(Math.random * reviews.length); 
reviews.eq(index).show(); 

你需要確保一個整數值被傳遞到EQ()調用。

相關問題