JavaScript:如何基于随机数修改图片src属性?
解决方法
你原来的代码问题出在随机数的范围上:Math.random() * 6生成的是0到5.999之间的数,Math.floor()之后会得到0-5的整数,但你的图片是从image1到image6,所以N的取值应该是1-6才对——这才是导致图片路径错误的核心原因,和HTML解析模板字符串没关系,模板字符串是JS层面处理完成后再赋值给src的,HTML根本不会接触到${N}这个语法。
修正后的代码完全不用if/else分支,直接就能实现需求:
// 生成1-6的随机整数 let N = Math.floor(Math.random() * 6) + 1; // 用模板字符串拼接路径并赋值 document.querySelector(".img").src = `images/image${N}.png`;
简单说明下逻辑:Math.random() * 6得到0-5.999的浮点数,Math.floor()取整后变成0-5,加1就刚好得到1-6的整数,完美对应你的图片命名规则。另外注意你原来代码里模板字符串末尾多了个空格,会导致路径无效,记得去掉。
内容的提问来源于stack exchange,提问作者Gabriel Binci
相关产品推荐
相关产品推荐

