问题描述
|
我有以下功能:
var randomImages = [\"bgr1\",\"bgr2\",\"bgr3\",\"bgr4\",\"bgr5\",\"bgr6\"];
var rndNum = Math.floor(Math.random() * randomImages.length);
$(\".myDiv\").css({ background: \"url(/images/\" + randomImages[rndNum] + \".gif)\" });
由于除最后一个数字值外,所有图像都具有相同的名称,我不能简化一下吗?
解决方法
这看起来似乎很明显,但是如果您知道有多少张图片,则可以用一个常量替换randomImages.length,例如5为参数起见,那么您不需要数组,因此它只是一行:
$(\".myDiv\").css( { background: \"url(/images/bgr\" + Math.ceil(Math.random() * 5) + \".gif)\" } );
注意:math.ceil会更好,因为您不需要+1。
,var numImages = 6;
var rndNum = Math.floor(Math.random() * numImages) + 1;
$(\".myDiv\").css({ background: \"url(/images/bgr\" + rndNum + \".gif)\" });
,是的你可以。请注意,您可能想定义一个常量,而不只是使用幻数6,但这就是这个主意。
var rndNum = Math.floor(Math.random() * 6) + 1;
$(\".myDiv\").css({ background: \"url(/images/bgr\" + rndNum + \".gif)\" });