Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组中淡入淡出元素和淡入数据-jQuery_Javascript_Jquery_Html_Arrays - Fatal编程技术网

Javascript 从数组中淡入淡出元素和淡入数据-jQuery

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>",

我的页面上有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 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个孩子
,似乎有点浪费,你不觉得吗?原始代码更短/更快(但只是索引不正确)。