在我的代码中,我使用了1000毫秒作为动画函数的持续时间值。现在我想用一个随机值代替这个值。我该怎么做?
<html>
<body>
<script src="jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function () {
$('#btn').click(function () {
$('#i1').animate({
'margin-left': '+=1155px'
},1000);
});
</script>
<img src="images.jpg" height="100px" width="200px" id="i1"><br>
<input type="button" value="start" id="btn">
</body>
</html>
答案 0 :(得分:1)
这应该像我想的那样简单。
使用
Math.floor((Math.random()*100)+1);
其中* 100是要生成的最大值。
<script src="jquery-1.11.0.min.js"></script>
<script>
jQuery(function( $ ){ // Dom ready shorthand
$('#btn').click(function () {
$('#i1').animate({
'margin-left': '+=1155px'
}, Math.floor((Math.random()*1000)+1) );
});
});
</script>
如果您需要在更多地方重复使用随机,您可以使用自己的可重用方法获得乐趣:
var MM = { // My Methods
rand : function(min,max) { // RANDOMIZER
return Math.floor(Math.random()*(max-min+1)+min);
}, // comma separate
something : function() {
// return your other method
}
}
并使用MM.rand( minValue , maxValue);
$('#i1').animate({marginLeft: '+=1155'}, MM.rand(200, 1000) );
答案 1 :(得分:0)
您可以生成随机数作为amimate()
函数的持续时间参数
然后你的代码变成了
$(document).ready(function () {
$('#btn').click(function () {
$('#i1').animate({
'margin-left': '+=1155px'
},Math.floor((Math.random()*2000)+1000));
});
这里生成1000到2000之间的随机数。