我需要能夠根據這樣的百分比來旋轉佔位符div內的內容。旋轉將在頁面加載時發生。所以用戶每次重新加載他看到在內容的佔位符內容1,2或3的這些機會的頁面:基於百分比的Javascript內容輪換
內容1 =顯示時間
含量的50%2 =顯示的時間
25% 內容3 =顯示的時間
我喜歡Javascript支持,但是如果有一個更簡單的方法來做到這一點在ASP.NET的前端模板不是代碼隱藏,這也是可以接受的25%。如果您有解決方案或可以指向我現有的腳本,我將不勝感激。謝謝!
我需要能夠根據這樣的百分比來旋轉佔位符div內的內容。旋轉將在頁面加載時發生。所以用戶每次重新加載他看到在內容的佔位符內容1,2或3的這些機會的頁面:基於百分比的Javascript內容輪換
內容1 =顯示時間
含量的50%2 =顯示的時間
25% 內容3 =顯示的時間
我喜歡Javascript支持,但是如果有一個更簡單的方法來做到這一點在ASP.NET的前端模板不是代碼隱藏,這也是可以接受的25%。如果您有解決方案或可以指向我現有的腳本,我將不勝感激。謝謝!
真的不需要乘以/ 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);
這裏是一個快速入門,可能有更好的方法。
var randomnumber=Math.floor(Math.random()*4)
if((num==0) || (num==1)) {
//show hidden div or document.write (50% probability)
} else if (num==2) {
//show hidden div or document.write (25% probability)
} else {
//show hidden div or document.write (25% probability)
}
如果您使用floor,值將在0到3範圍內,而不是1到4 – 2009-06-17 16:13:27
您是對的,謝謝。 – 2009-06-17 16:34:36
有關腳本的隨機部分,你就必須用的Math.random玩 醜陋的東西硬編碼和看起來像這樣:
var contentToShow = -1;
var NB_MAX = 4;
var myRand = Math.floor(Math.random()*NB_MAX);
if(myRand<1) contentToShow = 1;
else if (myRand<2) contentToShow = 2;
else contentToShow = 3;
然後你只需要加載與內容阿賈克斯。
jQuery的個例可能看起來像:
var myPlaceHolder = $("#myPlaceHolder")
$.myPlaceHolder.load("/mycontents/mycontent_" + contentToShow + ".asp");
但在使用上的頁面加載Ajax請求是不是要走海事組織的方式。 (如果隨機內容由服務器處理,則爲2個服務器請求,而不是1個)
這是正確的實現,但我會同意它需要處理服務器端以獲得更好的結果。 (在加載Ajax內容時可能看起來很尷尬) – 2009-06-17 16:21:29
我剛纔說你不能在HTML中旋轉東西,直到我意識到你的意思是在不同的環境中。 – SpliFF 2009-06-17 16:10:59