基于百分比的 Javascript 内容轮换

标签 javascript rotation frontend

我需要能够像这样根据百分比旋转占位符 div 中的内容。旋转将在页面加载时发生。因此,每次用户重新加载页面时,他都有机会在内容占位符中看到内容 1、2 或 3:

内容 1 = 显示 50% 的时间
内容 2 = 显示 25% 的时间
内容 3 = 显示 25% 的时间

我更喜欢 Javascript,但如果在 ASP.NET 中有更简单的方法在前端模板而不是代码隐藏中执行此操作,那也是可以接受的。如果您有解决方案或可以指出现有脚本,我将不胜感激。谢谢!

最佳答案

确实不需要乘法/floor/ceil 任何东西:Math.random() 函数给出大于或等于 0 且小于 1 的值。

如果您更改选项数量或机会百分比,则以下代码将更易于维护。

var contentId, random = Math.random();

if (random < 0.5) {
  // option 1: chance 0.0–0.499...
  contentId = 0;
} else (random < 0.75) {
  // option 2: chance 0.50—0.7499...
  contentId = 1;
} else {
  // option 3: chance 0.75–0.99...
  contentId = 2;
}

loadContent(contentId);

关于基于百分比的 Javascript 内容轮换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007961/

相关文章:

css - 使用中心以外的 CSS 旋转内联元素?

haskell - Haskell 中的旋转参数

javascript - Vue 方法混合

java - Vaadin14 - 如何在组合框中的字段上方设置辅助文本

javascript - 如何在 php 或 javascript 中创建带有请求的 POST

javascript - @memberof 用于共享类方法?

jquery - 如何让 4 个元素围成一圈旋转?

javascript - 禁用 href 并执行函数

javascript - 使用 moment.js 格式化此日期时间

angular - 没有导出成员 'MdCardModule' 和 'MdTooltipModule'