简化jQuery函数

问题描述

| 我有以下功能:
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)\" });
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...