Javascript jQuery-在特定时间内显示的随机元素
我想制作一个Javascript jQuery-在特定时间内显示的随机元素,javascript,jquery,html,random,Javascript,Jquery,Html,Random,我想制作一个div,其中div的一个元素在短时间内随机变化(即:这是巴黎,这是苹果等等) 我有一行HTML: <div id="A"> THIS IS </div> <div id="B"> <div>AN APPLE</div> <div>PARIS</div> <div>PICASSO</div> </div> 有人能帮我吗? 提前谢谢 据我所知,您需要
div
,其中div
的一个元素在短时间内随机变化(即:这是巴黎,这是苹果等等)
我有一行HTML:
<div id="A">
THIS IS
</div>
<div id="B">
<div>AN APPLE</div>
<div>PARIS</div>
<div>PICASSO</div>
</div>
有人能帮我吗?提前谢谢 据我所知,您需要此代码
<div id="A"></div>
<script type="text/javascript">
$(document).ready(function() {
var myArray = ['AN APPLE','PARIS','PICASSO'];
setInterval(function(){
var rand = myArray[Math.floor(Math.random() * myArray.length)];
$('#A').html('THIS IS '+rand);
},1000);
});
</script>
$(文档).ready(函数(){
var myArray=[“一个苹果”,“巴黎”,“毕加索];
setInterval(函数(){
var rand=myArray[Math.floor(Math.random()*myArray.length)];
$('#A').html('这是'+rand');
},1000);
});
您可以将div文本放入数组中,并使用Math.random()
返回随机元素并将其添加到#A
$(“#B”).hide();
var text=$('#A').text();
var words=$(“#B div”).map(函数(){
返回$(this.text())
}).get();
setInterval(函数(){
$('#A').text(text+''+单词[Math.floor(Math.random()*words.length)];
},500)
这是
苹果
巴黎
毕加索
您只需使用Math.random
和setInterval
。下面的片段:
$(函数(){
var n=0;
setInterval(函数(){
n=数学地板((数学随机()*3));
$(“#B div”).hide();
$(“#B”).find('div:eq('+n+')).show();
},500);
});代码>
#B div:not(:第一个孩子){
显示:无;
}
这是
苹果
巴黎
毕加索
这里有一种方法。希望这有帮助
<html>
<head>
<script type="text/javascript" src="jquery-1.11.3.min.js"> </script>
<script>
fruit = new Array("A Pear", "A strawberry", "An orange");
cities = new Array("London", "New York", "Glasgow");
artists = new Array("Monet", "Cezanne", "Da Vinci");
changeValues = function(fruit, cities, artists) {
var f = Math.floor((Math.random() * fruit.length-1) + 1);
var c = Math.floor((Math.random() * cities.length-1) + 1);
var a = Math.floor((Math.random() * artists.length-1) + 1);
var things = "<div>" + fruit[f] + "</div><div>" + cities[c] + "</div><div>" + artists[a] + "</div>";
$("#B").html(things);
setTimeout(changeValues, 2500, fruit, cities, artists);
}
$(document).ready(function() {
setTimeout(changeValues, 2500, fruit, cities, artists);
});
</script>
</head>
<body>
<div id="A">
THIS IS
</div>
<div id="B">
<div>AN APPLE</div>
<div>PARIS</div>
<div>PICASSO</div>
</div>
</div>
</body>
</html>
水果=新阵列(“梨”、“草莓”、“橘子”);
城市=新阵列(“伦敦”、“纽约”、“格拉斯哥”);
艺术家=新阵列(“莫奈”、“塞尚”、“达芬奇”);
ChangeValue=功能(水果、城市、艺术家){
var f=Math.floor((Math.random()*fruit.length-1)+1);
var c=Math.floor((Math.random()*cities.length-1)+1);
var a=Math.floor((Math.random()*artists.length-1)+1);
var things=“”+水果[f]+“”+城市[c]+“”+艺术家[a]+“”;
$(“#B”).html(东西);
setTimeout(ChangeValue、2500、水果、城市、艺术家);
}
$(文档).ready(函数(){
setTimeout(ChangeValue、2500、水果、城市、艺术家);
});
这是
苹果
巴黎
毕加索
尝试使用类似的功能,但使用with function作为参数来选择要显示的元素
setInterval(function(){
$("#B div").hide();
$("#B div").eq(function() {
return Math.floor(Math.random() * $("#B div").length);
}()).show();
}, 500);
提供您的jquery代码。感谢您的回答!我不想使用数组,我以前就是这么做的!还有其他建议@NenadVracar吗?我真的不想总是使用纯文本(在某些div中,我需要链接、图片等),也许隐藏/显示解决方案会更好,你认为呢?我怎样才能做到@NenadVracar?谢谢你的回答!我不想使用数组,我以前就是这么做的!还有其他建议吗@DevSullo?很好,非常感谢@GuruprasadRao!可以关闭淡入淡出吗?只需使用show()
而不是fadeIn(200)
insidesetInterval
非常感谢@GuruprasadRao!明亮的随时快乐编码…)两个简单的问题!我不想重复这些话。有可能吗?如果我想在单击时更改这些单词,该怎么办?
setInterval(function(){
$("#B div").hide();
$("#B div").eq(function() {
return Math.floor(Math.random() * $("#B div").length);
}()).show();
}, 500);