2016-09-19 106 views
1

这可能很简单,但我无法让它工作。每个div中的不同随机数

我有工作代码,输入内部div中的随机数,但它在页面上的所有div中输入相同的随机数。

如何在每个div中输入不同的随机数? 这里是我的代码:

<script> 
    var randomNumber = Math.random(); 
    var num = Math.floor((randomNumber * 75) + 15); 

    jQuery('#sale').each(function() { 
     jQuery(this).find('.savings').append(num); 
    }); 
</script> 

是的,我在#循环,因为类里面,我应该循环阶级本身? 下面是HTML:

<div class="col-md-6 itemcol">   
<div class=""> 
<div id="sale" class="sale" style=""><span class="savings"></span>% OFF<br></div> 

解决。如果有人认为它有用,这里是最终的代码,将$改为jQuery并将调整的数字改为15-75。

<script> 
jQuery(document).ready(function() { 
    jQuery("#sale .savings").each(function(){ 
     jQuery(this).text(createRandom()); 
    }); 

function createRandom() { 
     var Num = Math.floor((Math.random() * (75 - 15) + 1) + 15); 
     return Num; 
    } 
});  
</script> 
+0

你产生循环的数外,它永远不会改变里面的环... –

+0

您正在使用的ID循环? #sale是你在哪个循环中添加.savings类的ID? –

+0

请检查答案和评论;) – Tushar

回答

0

试试这个:

$(document).ready(function() { 

    $("#sale .savings").each(function(){ 
     $(this).text(createRandom()); 
    }) 

    function createRandom() { 
     var Num = Math.floor((Math.random() * (75 - 15) + 1) + 15); 
     return Num; 
    }  
}) 

最终代码:

$(document).ready(function() { 
 
    
 
    $("#sale .savings").each(function(){ 
 
    $(this).text(createRandom()); 
 
    }) 
 
    
 
    function createRandom() { 
 
    var Num = Math.floor((Math.random() * (75 - 15) + 1) + 15); 
 
    return Num; 
 
    }  
 
})  
.savings { 
 
    border: 2px solid red; 
 
    width: 200px; 
 
    height: 30px; 
 
    margin-bottom: 1px; 
 
}
<div id="sale"> 
 
    <div class="savings"></div> 
 
    <div class="savings"></div> 
 
    <div class="savings"></div> 
 
    <div class="savings"></div> 
 
</div>  
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
    

+0

这工作,我不得不改变$ to jQuery but it works。 –

+0

它的一个很大的过程不是;) – Tushar

+0

是的,谢谢!现在只是一小部分随机数字会通过75.我认为我的代码是在15-75之间过滤? –

0

从你的代码,我认为,要在具有节约类以及与每个them.Try的下面的代码添加不同的随机数的所有div的循环。

jQuery('.savings').each(function() { 
var randomNumber = Math.random(); 
    var num = Math.floor((randomNumber * 75) + 15); 
     $(this).append(num); 

    }); 
</script> 
+0

返回相同的结果 –

+0

@DamirGasparlin那些div有储蓄课吗? –

+0

为什么你在循环ID? –

0

它,因为你是存放在变量的值,并打印出变量所有的时间没有在循环更新它。

<script> 
    var randomNumber = Math.random(); 
    jQuery('#sale').each(function() { 
    var num = Math.floor((randomNumber * 75) + 15); 
    if(jQuery(this).hasClass('.savings')){ 
     jQuery(this).append(num); 
    } 
    }); 
</script> 

你也可以做类似如下:

<script> 
    var randomNumber = Math.random(); 
    jQuery('.savings').each(function() { 
    var num = Math.floor((randomNumber * 75) + 15); 
    jQuery(this).text(num); 
    }); 
</script> 
+0

返回相同的结果,所有.savings divs具有相同的随机数 –

+0

好吧,也许你应该循环'jQuery('。savings')。each(fu ...'更新答案btw。 – Xorifelse