
本文将介绍如何使用JavaScript创建一个简单的随机图书推荐器。该推荐器通过点击按钮,随机显示一组预先定义的图书封面图片。我们将详细讲解JavaScript代码的实现,并提供完整的HTML结构,帮助你快速构建自己的图书推荐功能。
实现原理
该图书推荐器的核心在于使用JavaScript的随机数生成函数,从预定义的图片URL数组中随机选择一个URL,并将其设置为HTML 元素的 src 属性。为了避免连续推荐同一本书,我们增加了一个简单的逻辑来记录上次推荐的图书,并在生成新的随机数时进行判断。
HTML结构
首先,我们需要一个HTML结构来显示图书封面和一个触发随机推荐的按钮。代码如下:
Simple Book Generator
@@##@@
- 容器: class="quotes" 用于包裹整个推荐器组件,方便进行样式控制。
标题:
class="quote-generator" 显示标题 "Simple Book Generator"。元素: id="bookCover" 用于显示随机选择的图书封面。 style='width: 100px' 设置图片的初始宽度。 src='' 初始为空,等待JavaScript动态设置。
- onclick="newBook()" 点击时触发 newBook() 函数,生成新的随机图书封面。 class="button-quote" 用于样式控制。
- src="./js/quotes.js" 引入包含JavaScript代码的文件。
JavaScript代码
接下来,我们需要编写JavaScript代码来实现随机选择图书封面的功能。
立即学习“Java免费学习笔记(深入)”;
var images = [ 'https://m.media-amazon.com/images/I/81jRqrKKObL._AC_UL800_FMwebp_QL65_.jpg', 'https://m.media-amazon.com/images/I/81JgX8VgZiL._AC_UL800_FMwebp_QL65_.jpg', 'https://m.media-amazon.com/images/I/71CBWHK035L._AC_UL800_FMwebp_QL65_.jpg', 'https://m.media-amazon.com/images/I/91pXKpUfGgL._AC_UL800_FMwebp_QL65_.jpg', ]; let lastBook = -1; // this is to prevent offering the same book twice function newBook() { let randomNumber; do { randomNumber = Math.floor(Math.random() * (images.length)); } while (randomNumber === lastBook); lastBook = randomNumber; document.getElementById('bookCover').src = images[randomNumber]; }- images 数组: 存储图书封面图片的URL。 你可以根据需要修改此数组,添加或删除图片URL。
- lastBook 变量: 用于存储上次显示的图书的索引。初始值为 -1,表示第一次运行时没有上次的图书。
-
newBook() 函数:
- 使用 Math.random() 生成一个随机数,并使用 Math.floor() 取整,得到一个介于 0 和 images.length - 1 之间的整数,作为图书的索引。
- 使用 do...while 循环,确保本次随机生成的索引与上次的索引不同,避免连续推荐同一本书。
- 更新 lastBook 变量,记录本次显示的图书的索引。
- 使用 document.getElementById('bookCover').src = images[randomNumber] 将随机选择的图书封面图片的URL设置为
元素的 src 属性,从而显示图片。
使用方法
- 将HTML代码保存为 index.html 文件。
- 将JavaScript代码保存为 quotes.js 文件,并确保该文件与 index.html 文件在同一目录下。
- 在浏览器中打开 index.html 文件。
- 点击 "New Book" 按钮,即可随机显示图书封面。
注意事项
- 确保 images 数组中的URL是有效的图片URL,否则将无法显示图片。
- 可以根据需要修改CSS样式,美化图书推荐器的外观。
- 可以扩展此功能,例如添加图书的标题、作者等信息。
- 为了更好的用户体验,可以考虑使用 loading 动画,在图片加载完成前显示一个加载中的提示。
总结
通过本文的介绍,你学会了如何使用JavaScript创建一个简单的随机图书推荐器。该推荐器可以帮助用户发现新的图书,并为你的网站或应用程序增加一些趣味性。你可以根据自己的需求进行修改和扩展,使其更加完善。










