2011-06-15 53 views
0

我是JavaScript新手,遇到問題。我希望實際的(函數updateBoxes)框[boxIx]比其他的更大,但我似乎無法找到可用的代碼。我試過盒子[boxIx] .size =「100px」; box [boxIx] .style.size =「100px」;沒有結果。這是我的代碼;如何獲得比其他人更大的實際箱子?

function init() { 

    box = document.getElementById("boxes").getElementsByTagName("div"); 
    for (var i=0; i<box.length; i++) { 
     box[i].style.left = 70*i+"px"; 
    } // End for 

    boxIx = box.length - 8; 
    updateBoxes(); 
} // End init 

function browseLeft() { 
    if (boxIx > 0) boxIx = boxIx - 1; 
    updateBoxes(); 
} 
// End browseLeft 

function browseRight() { 
    if (boxIx < box.length-1) boxIx = boxIx + 1; 
    updateBoxes();} 
// End browseRight 


**function updateBoxes() { 

    box[boxIx].style.backgroundColor ="#CCC"; 
    box[boxIx].style.top = "20px"; 
    box[boxIx].style.zIndex = 9;** 


    var z = 8; 
    for (var i=boxIx-1; i>=0; i--) { 
     box[i].style.backgroundColor ="#666"; 
     box[i].style.top = "0px"; 
     box[i].style.zIndex = z; 
     z = z - 1; 
    } // End for 

    z = 8; 
    for (var i=boxIx+1; i<box.length; i++) { 
     box[i].style.backgroundColor = "#666"; 
     box[i].style.top = "0px"; 
     box[i].style.zIndex = z; 
     z = z - 1; 
    } // End for 
} // End browseLeft 
+0

** function updateBoxes()'可能是一個格式錯誤,但是誰知道? – thirtydot 2011-06-15 14:48:19

+1

所以你想更新寬度和高度?是否有任何理由不使用'box [boxIx] .style.width = box [boxIx] .style.height =「100px」;'? – 2011-06-15 14:52:19

回答

1

由於thirtydot指出的那樣,你有你的示例代碼中的「**」兩個實例,我在假設這在編輯時是一個降價故障已經刪除。

您的示例僅顯示JavaScript代碼。您使用的HTML標記和CSS樣式將是最有幫助的。我創建了一個搗鼓討論,並在這裏爲您解決問題:http://jsfiddle.net/bhofmann/zkZMD/

幾件事我注意到,可能會有所幫助:

  1. 您使用在幾個幻數地方。我們可以假設這是盒子的數量?我會將它存儲在一個變量中以供在函數中使用。
  2. 您使用了很多直接樣式。如果您使用CSS類來更改框的外觀,那麼您的代碼可能會更乾淨。
  3. 除非您改變DIV的默認樣式,否則只需設置左偏移量,您不會看到太多變化。

PS。我冒昧地在頁面加載時調用init函數,因爲我沒有看到其他的東西來調用它。我不知道會調用browseLeft和browseRight,但我會把它留給你。

相關問題