2012-07-16 149 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()调用。