0
我想顯示只有20%的我的網站流量的一個div,所以我做了這樣的邏輯:顯示DIV只有20%的人,在我的網站上輸入
var div = (Math.floor(Math.random() * 100) + 1) > 20 ? true : false;
if (div)
// don't show
else
// show
但我不我認爲這很準確,是嗎?
謝謝。
我想顯示只有20%的我的網站流量的一個div,所以我做了這樣的邏輯:顯示DIV只有20%的人,在我的網站上輸入
var div = (Math.floor(Math.random() * 100) + 1) > 20 ? true : false;
if (div)
// don't show
else
// show
但我不我認爲這很準確,是嗎?
謝謝。
隨着所有的隨機性,需要有一個足夠大的樣本量才能顯示正態分佈。正如你所看到的,你獲得的訪問者越多,功能越接近20%
。
function visitors(n) {
var visited = 0;
for (var i = 0; i < n; i++)
visited += (Math.floor(Math.random() * 100) + 1) > 20 ? 0 : 1;
console.log("Out of " + n + " visitors, " + visited + " were shown the div. (" + visited/n * 100 + "%)");
}
[1, 10, 100, 1000, 10000, 100000, 1000000].forEach(x => visitors(x));
如前所述Radmation,然而,使用服務器會給你更接近20%
遊客的數量較少。
我不會使用客戶端邏輯這個,但服務器端邏輯。你可以從字面上增加一個服務器端變量,每次它重置它並告訴客戶端顯示div。在這種情況下,從1開始。如果您至少需要確切的話 - >您也可以使用ajax來獲取計數器值 - 如果您一次運行多個請求。
取決於你有多少訪問者......如果你有很多很好夠 – Peter
平均而言,如果你有足夠的訪問者將是準確的。 –
彼得是對的。如果你有很多遊客,你會得到接近20%的分銷。如果沒有,你可能會得到一些小東西。 –