2015-04-02 21 views
0
<script> 
    var switchDirection = false; 
     function doAnimation() { 
     var divAdvert = document.getElementById("divAdvert"); 
      var currentLeft = divAdvert.offsetLeft; 
      var newLocation; 
      if (!switchDirection) { 
       newLocation = currentLeft + 2; 
       if (currentLeft >= 400) { 
       switchDirection = true; 
       } 
      } else { 
        newLocation = currentLeft - 2; 
        if (currentLeft <= 0) { 
        switchDirection = false; 
        } 
      } 
      divAdvert.style.left = newLocation + "px"; 
     } 
    setInterval(doAnimation, 10); 
    </script> 

我想知道爲什麼具有值爲false的新變量已在函數的開頭聲明。用true或false初始化一個變量是否在Javascript中建立了內容的方向?

+0

...顯然將在函數中切換?請告訴我們你不明白的功能部分。 – Bergi 2015-04-02 04:50:43

+0

var switchDirection = false;這個變量跟蹤內容當前的走向。如果switchDirection爲false,則內容從左向右移動,這是默認設置。如果switchDirection爲true,則內容從右向左移動。 //這是程序作者在解釋代碼時寫的內容。我不明白這一點,即如何將變量初始化爲false會使內容的方向從左向右。 - – 2015-04-02 19:05:18

+0

這不是使div能夠做任何事情的變量的初始化。它是'doAnimation'函數,它使用'switchDirection'狀態來控制內容在當前步驟中移動的方向。 – Bergi 2015-04-02 20:11:07

回答

1

不,沒有像這樣。可能是開發人員稍後在頁面中使用此變量,因爲這是全局變量。他從setInterval調用函數,因此它會重複調用。所以,他將這個值保留在某個全局變量中,因爲如果保存在函數中,它將會丟失。 這個名字就像是爲了知道變量的意圖是什麼。它的簡單變量。

此行正在改變位置: - divAdvert.style.left = newLocation +「px」;

當switchDirection爲假,auther是增加值: -

if (!switchDirection) { 
      newLocation = currentLeft + 2; 

一旦它是多於400,作者改變可變值

if (currentLeft >= 400) { 
      switchDirection = true; 

     } 

然後,他正在移動它在另一個方向上和反之亦然,

 newLocation = currentLeft - 2; 
       if (currentLeft <= 0) { 
       switchDirection = false; 
       } 

而不是價值真假,他/她可以哈我使用左值或右值或ltr和rtl值,但由於他只有2個值,所以他使用true和false。

它的簡單變量,你可以給任何名稱像dir或xyz它將以相同的方式工作。 如果你改變所有的錯誤與true和true與錯誤的代碼將工作相同。

+0

var switchDirection = false; 這個變量跟蹤內容當前的走向。如果 switchDirection爲false,則內容將從左向右移動,即默認爲 。如果switchDirection爲true,則內容從右向左移動。 // 這是程序作者在代碼解釋中寫的內容。我不明白這一點,如何將變量初始化爲false會使內容的方向從左向右。 – 2015-04-02 12:06:02