随机书籍推荐器:使用 J*aScript 实现


随机书籍推荐器:使用 javascript 实现

本文将指导你如何使用 J*aScript 创建一个简单的随机书籍推荐器。通过点击按钮,页面将随机展示不同的书籍封面图片。我们将基于已有的随机名言生成器代码,将其改造为随机书籍推荐器,并避免重复推荐同一本书籍。

HTML 结构

首先,我们需要创建一个 HTML 结构来展示书籍封面和一个按钮,用户可以通过点击按钮来获取新的书籍推荐。

<div class="books">
  <h1 class="book-generator">随机书籍推荐</h1>
  <div id="bookDisplay">
    @@##@@
  </div>
  <button onclick="newBook()" class="button-book">推荐一本新书</button>
  <script src="./js/books.js"></script>
</div>

在这个 HTML 结构中,我们创建了一个 div 容器,包含一个标题 h1,一个用于展示书籍封面的 img 标签,以及一个按钮 button。img 标签的 id 设置为 bookCover,用于在 J*aScript 代码中引用和更新图片。style 属性用于设置图片的初始宽度,alt 属性用于在图片无法加载时显示替代文本。

J*aScript 代码

接下来,我们需要编写 J*aScript 代码来实现随机书籍推荐的逻辑。

YouMind YouMind

AI内容创作和信息整理平台

YouMind 207 查看详情 YouMind
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];
}

这段 J*aScript 代码首先定义了一个 images 数组,其中包含了书籍封面图片的 URL。然后,定义了一个 lastBook 变量,用于记录上次推荐的书籍的索引,防止重复推荐。

newBook 函数是核心逻辑所在。它首先生成一个随机数 randomNumber,然后使用 do...while 循环来确保新生成的随机数与上次推荐的书籍的索引不同。如果相同,则重新生成随机数,直到找到一个不同的索引为止。最后,更新 lastBook 变量,并将 bookCover 元素的 src 属性设置为新的书籍封面图片的 URL。

代码解释

  • images 数组: 存储书籍封面图片的 URL 地址。你可以根据需要添加或修改这些 URL。
  • lastBook 变量: 初始化为 -1,表示还没有推荐过任何书籍。
  • newBook 函数:
    • 使用 Math.random() 和 Math.floor() 生成一个随机整数,作为 images 数组的索引。
    • 使用 do...while 循环确保生成的随机数与 lastBook 不同,防止重复推荐。
    • 更新 lastBook 的值为当前推荐的书籍的索引。
    • 使用 document.getElementById('bookCover') 获取 img 元素,并将其 src 属性设置为 images[randomNumber],从而更新书籍封面图片。

注意事项

  • 确保 books.js 文件正确链接到 HTML 文件中。
  • 可以根据需要调整书籍封面图片的尺寸和样式。
  • 可以扩展此代码,例如添加书籍的标题、作者等信息。
  • 为了更好的用户体验,可以考虑在加载图片时显示一个加载动画。
  • 如果需要从服务器动态获取书籍信息,可以使用 AJAX 技术。

总结

通过以上步骤,我们成功创建了一个简单的随机书籍推荐器。这个推荐器可以随机展示不同的书籍封面图片,并且避免重复推荐同一本书籍。你可以根据自己的需求进行修改和扩展,例如添加更多的书籍信息、使用不同的图片来源等。这个项目可以作为学习 J*aScript 和前端开发的入门练习,帮助你更好地理解 DOM 操作、事件处理和随机数生成等概念。

书籍封面

以上就是随机书籍推荐器:使用 J*aScript 实现的详细内容,更多请关注其它相关文章!


# 创建一个  # 东宝seo获客预案  # seo 费用  # seo科研研究中心  # 那些网站可以做推广引流  # 软文优化信任乐云seo  # 钩鱼网站怎么做推广的  # 运营营销推广话术怎么写  # 厦门网站关键词优化搜索  # zblog php seo  # 商家营销推广快闪视频  # 运行机制  # 服务端  # 源代码  # javascript  # 加载  # 你可以  # 有什么  # 设置为  # 一本  # 随机数  # 前端开发  # ajax  # 前端  # js  # html  # java 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  有道AI翻译入口 智能写作官方网站入口  Win10怎么设置快速启动 Win10开启快速启动设置方法  DeepSeek超全面指南:入门必看  《地下城堡4:骑士与破碎编年史》墓穴挑战125攻略  Keras中Convolution2D层及其核心辅助层详解  包子漫画在线观看入口 包子漫画网正版全集链接  企查查官网和爱企查 企查查企业查询官网入口  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  铁路12306座位怎么选_12306官方选座操作方法  PHP中实现JSON数据数组分页的教程  如何编写一个符合 composer 规范的 post-install-cmd 脚本?  QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航  Flexbox布局实践:实现底部页脚与顶部粘性导航条的完美结合  CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程  优化长HTML属性值:SonarQube警告与实用策略  优化 React onClick 事件处理:函数引用与箭头函数的对比  Linux如何自动分析系统异常日志_Linux日志智能检测  excel怎么计算平均值 excel平均函数*ERAGE使用教学  顺丰官方查单号入口 顺丰快递单号查询官网入口  手机耗电快是什么原因 延长手机电池续航时间的设置方法【详解】  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  三星M34录音变声问题_Samsung M34麦克风调整  荣耀 Magic10 Pro 系统更新提示失败_荣耀 Magic10 Pro 升级修复  厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项  123网页端官方登录页 123邮箱网页版即时通讯服务  AO3官方镜像链接 | 最新防走失网址永久收藏  如何在CSS中实现盒模型多列间距_grid-gap与padding结合  Golang如何操作指针参数_Go pointer参数传递规则  J*aScript:从子元素中批量移除特定CSS类  B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】  如何快速去除厨房重油污? 2025年最好用的厨房清洁剂推荐  b站怎么查看视频的码率_b站视频码率查看方法  C++ static关键字作用_C++静态成员变量与静态函数  快递物流路径揭秘  POKI小游戏在线免费入口链接 POKI小游戏无下载秒玩玩  J*aScript大数运算_BigInt使用指南  鸿蒙单条备忘录如何加密  《一起考教师》账号注销方法  掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析  微博网页版入口链接 微博网页版在线互动平台  如何在mysql中设计餐饮点餐系统_mysql点餐系统项目实战  微信朋友圈怎么设置三天可见 微信朋友圈设置指定天数可见步骤【教程】  在Peewee中处理PostgreSQL记录重复:一站式数据摄取教程  2025考研成绩查询时间入口分享  苹果手机如何清理系统缓存数据 iPhone非越狱清理垃圾文件的技巧【系统优化】  C++中std::thread和std::async的区别_C++并发编程与线程与异步任务比较  圆通快递官网入口查询单号 手机版官方查询入口  苹果手机手电筒无法开启  如何在CSS中设置背景图像:一个全面指南 

 2025-10-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.