Javascript 从数组中淡入淡出元素和淡入数据-jQuery
我的页面上有4个Javascript 从数组中淡入淡出元素和淡入数据-jQuery,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我的页面上有4个div项目,我试图让这些项目的内部html随机淡出,从数组中取一行,淡入-在它的位置,这有意义吗 // My items that I would like to repopulate the faded out info var testimonialsArray = [ "<div class='change'><h1>Box 5</h1><p>Lorem ipsum</p></div>",
div
项目,我试图让这些项目的内部html随机淡出,从数组中取一行,淡入-在它的位置,这有意义吗
// My items that I would like to repopulate the faded out info
var testimonialsArray = [
"<div class='change'><h1>Box 5</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 6</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 7</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 8</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 9</h1><p>Lorem ipsum</p></div>"
];
// Find a random div and fade it out
var order = Math.floor((Math.random()* $('.change').length )+1);
$('.box').eq(order).find('.change').fadeOut();
.......Fade in new data from an array row
//我想重新填充淡出信息的我的项目
var Sarray=[
“方框5Lorem ipsum”,
“方框6Lorem ipsum”,
“框7Lorem ipsum”,
“方框8Lorem ipsum”,
“方框9Lorem ipsum”
];
//找到一个随机的div并淡出
var order=Math.floor((Math.random()*$('.change').length)+1);
$('.box').eq(order).find('.change').fadeOut();
……淡入阵列行中的新数据
假设您从
Math.random()
得到0,并且$('.change')。长度
是10
Math.floor((0 * 10) + 1);
您可以看到,这段代码永远不会生成0作为输出
相反,这将生成所有可能的组合:
Math.floor(Math.random()* $('.change').length);
根据我认为你想做的:
var order = Math.floor((Math.random()* $('.change').length ));
$('.box').eq(order).find('.change').fadeOut(function(){
$(this).html(testimonialsArray[Math.floor((Math.random()* testimonialsArray.length))]).fadeIn();
});
JSFiddle:您可以使用以下脚本:
var testimonialsArray = [
"<div class='change'><h1>Box 5</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 6</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 7</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 8</h1><p>Lorem ipsum</p></div>",
"<div class='change'><h1>Box 9</h1><p>Lorem ipsum</p></div>"
];
var order = Math.floor((Math.random()* $('.box').length )+1);
var newOrder = Math.floor((Math.random()* testimonialsArray.length ));
$('.box:nth-child('+order+')').find(".change").fadeOut( function() {
$(testimonialsArray[newOrder]).appendTo('.box:nth-child('+order+')').hide().fadeIn('slow');
});
var-sarray=[
“方框5Lorem ipsum”,
“方框6Lorem ipsum”,
“框7Lorem ipsum”,
“方框8Lorem ipsum”,
“方框9Lorem ipsum”
];
var order=Math.floor((Math.random()*$('.box').length)+1);
var newOrder=Math.floor((Math.random()*testiciousarray.length));
$('.box:n个子('+order+')).find(“.change”).fadeOut(函数(){
$(Certificationalsarray[newOrder]).appendTo('.box:n个子('+order+')).hide().fadeIn('slow');
});
此代码从不将0生成为索引。因此,除了0索引问题之外,您的实际问题是什么?实际上,您并没有说什么没有按您想要的方式工作。您的意思是:$('.box').fadeOut(500).html(getRandomDiv()).fadeIn(500)?
+1
当然是错误的,但是length-1
与数学一样也是错误的。random
返回“最多但不包括1(独占)”
,因此从不点击length
值。构建一个字符串选择器,只是为了使用:n个孩子,似乎有点浪费,你不觉得吗?原始代码更短/更快(但只是索引不正确)。