基于百分比的Javascript内容轮换

Dan*_*Dan 2 javascript frontend rotation

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

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

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

Dam*_*kić 10

实际上没有必要乘以/ 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);
Run Code Online (Sandbox Code Playgroud)