我需要能够像这样根据百分比旋转占位符 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/