2013-08-26 24 views
0

我打探與檢查元素和跨越這來了:這段JavaScript代碼的目的是什麼?

NumberOfDivsToRandomDisplay = 10; 

var CookieName = 'DivRamdomValueCookie'; 

function DisplayRandomDiv() { 
    var r = Math.ceil(Math.random() * NumberOfDivsToRandomDisplay); 
    if (NumberOfDivsToRandomDisplay > 1) { 
     var ck = 0; 
     var cookiebegin = document.cookie.indexOf(CookieName + "="); 
     if (cookiebegin > -1) { 
      cookiebegin += 1 + CookieName.length; 
      cookieend = document.cookie.indexOf(";", cookiebegin); 
      if (cookieend < cookiebegin) { 
       cookieend = document.cookie.length; 
      } 
      ck = parseInt(document.cookie.substring(cookiebegin, cookieend)); 
     } 
     while (r == ck) { 
      r = Math.ceil(Math.random() * NumberOfDivsToRandomDisplay); 
     } 
     document.cookie = CookieName + "=" + r; 
    } 
    for (var i = 1; i <= NumberOfDivsToRandomDisplay; i++) { 
     document.getElementById("randomdiv" + i).style.display = "none"; 
    } 
    document.getElementById("randomdiv" + r).style.display = "block"; 
} 
DisplayRandomDiv(); 

其目的是什麼?只是好奇,謝謝:)

+0

看起來像基於一些cookie值顯示隨機div元素。 – tymeJV

+2

是否有某些您不明白的特定行(或行)?你應該努力理解代碼,然後清楚地解釋你做了什麼,不明白。這樣,答案不會浪費時間來解釋你已經理解的內容,並可以專注於你不瞭解的內容。 – apsillers

+0

對不起,我想我的問題措辭不佳 - 我想我*瞭解代碼本身*以及它**做了什麼**,我不明白在什麼情況下你會想這樣做:) –

回答

1

此代碼假定你有div的有ID的 「randomdiv1」, 「randomdiv2」 等

然後讀取命名DivRamdomValueCookie餅乾。如果存在,它將包含一個整數值,該值將是當前顯示的div的ID(「randomdiv」+ cookie的值)。

然後,它會隱藏所有div,然後顯示其中一個div,與存儲在cookie中的div不同。如果cookie不存在,它將顯示隨機div。

此腳本在NumberOfDivsToRandomDisplay變量中具有硬編碼的div數。