Javascript 显示随机类
假设我有一些课程,比如:Javascript 显示随机类,javascript,jquery,Javascript,Jquery,假设我有一些课程,比如: <div class="something" style="display: none">Some text I would like to show</div> <div class="something" style="display: none">Some text2 I would like to show</div> <div class="something" style="display: none"&
<div class="something" style="display: none">Some text I would like to show</div>
<div class="something" style="display: none">Some text2 I would like to show</div>
<div class="something" style="display: none">Some text3 I would like to show</div>
<div class="something" style="display: none">Some text4 I would like to show</div>
<div class="something" style="display: none">Some text5 I would like to show</div>
谢谢
setInterval(function() {
$('.something').hide();
var rand_number = random(0, ('.something').length - 1);
$('.something:eq('+rand_number+')').show();
}, 5000);
尽量避免过于频繁地评估
$(“.something”)
:
setInterval(function() {
var $s = $('.something');
var r = Math.floor(Math.random() * $s.length);
$s.hide().eq(r).show();
}, 5000);
如果您知道加载文档后元素列表不会更改,则可以进一步简化:
$(function() { // short-hand for document.ready
var $s = $('.something');
var count = $s.length;
setInterval(function() {
var r = Math.floor(Math.random() * count);
$s.hide().eq(r).show();
}, 5000);
});
尽量避免过于频繁地评估
$('.something')
:
setInterval(function() {
var $s = $('.something');
var r = Math.floor(Math.random() * $s.length);
$s.hide().eq(r).show();
}, 5000);
如果您知道加载文档后元素列表不会更改,则可以进一步简化:
$(function() { // short-hand for document.ready
var $s = $('.something');
var count = $s.length;
setInterval(function() {
var r = Math.floor(Math.random() * count);
$s.hide().eq(r).show();
}, 5000);
});
您的示例看起来非常可靠,但是,我有一些建议: 1.您的类。某些内容可能应该有显示:样式表中没有显示,也没有内联显示;此外(最初),您不必以编程方式隐藏在中。再重复一遍是没有意义的
您的示例看起来非常可靠,但是,我有一些建议: 1.您的类。某些内容可能应该有显示:样式表中没有显示,也没有内联显示;此外(最初),您不必以编程方式隐藏在中。再重复一遍是没有意义的
你的伪代码看起来不错。你试过了吗?你的伪代码看起来不错。你试过了吗?我会使用
.eq()
而不是:eq()
@Znarkus来避免将值连接到选择器中,然后解析它。据说它也更快。@alnitak啊,是的,有道理。我会使用.eq()
而不是:eq()
@Znarkus,以避免将值连接到选择器中,然后解析它。它也应该更快。@alnitak啊,是的,有道理。您可以将第2行和第3行合并到var class=$('.something').hide()代码>标准JS中没有random(m,n)
函数也不需要-1,Math.random()返回[0,1)(即从0到1互斥包含)。您可以将第2行和第3行合并到var class=$('.something').hide();
标准JS中没有random(m,n)
函数也不需要-1,Math.random()返回[0,1](即从0到1的范围内包含)。
$(function() { // short-hand for document.ready
var $s = $('.something');
var count = $s.length;
setInterval(function() {
var r = Math.floor(Math.random() * count);
$s.hide().eq(r).show();
}, 5000);
});