2013-12-09 44 views
0

我寫了一個頁面來同時與多臺攝像機進行交互。正因爲如此,我有一個頁面,基本上有一組控件,它們調用一個Javascript,它重複X次的時間,其中只有名稱和1個變量發生了變化。有沒有辦法讀取文檔並將其寫入X次,並在每次傳遞中只替換那些值?我知道如何在PHP中做到這一點,但我希望能夠做到客戶端。多次寫入元素

所以basicly您有:

<div name="camera1" style="left:100px"> 
<input type="button" onclick="setFps(1)"> 
</div> 

,其中100像素和1只需要在每次通改變。

回答

0
<script> 
for(var i = 0; i < 10; i++) 
    document.write('<div name="camera'+i+'" style="left:100px;"><input type="button" onclick="setFps(1)"></div>'); 
</script> 

但是,除非你有充分的理由這樣做,否則我不會推薦這樣做。 這只是最簡單的方法來做到這一點,並考慮到這是你唯一的帖子,它只是一個簡單的谷歌搜索,這將做。

+0

我發現這個方法,但是這是我'其實做的很simpel版本。這樣做的原因是因爲如果我改變第一個相機組中的某些東西,我希望它在相機組的其餘部分也改變。所以,讓我說我添加一個按鈕,我不想添加他們10次。 – user3084780

+0

但您可以輕鬆地在服務器端做同樣的事情。只需在那裏運行一個循環...不需要在客戶端執行此操作 – DoXicK

0

我這樣做:

---HTML--- 
<div id="cameraDisplay"> 
    <script>displayCameras()</script> 
</div> 

---Javascript--- 
function displayCameras() 
{ 
    var parent = document.getElementById("cameraDisplay"); 
    parent.innerHTML = ""; //Clear parent before adding cameras 

    var fpsValues = [1, 2, 3, ...]; //Array of all the FPS integers 
    var leftValues = [100, 200, 300, ...]; //Array of all the left stylings 

    for (var i = 0; i < numberOfCameras; i++) 
    { 
     var camera = document.createElement("div"); 
     camera.setAttribute("name", "camera" + i.toString()); 
     camera.style.left = leftValues[i].toString + "px"; 

     var input = document.createElement("input"); 
     input.type = "button"; 
     (function() { //Create an anonymous function to store correct value of i - otherwise mutable errors occur 
      var fps = i; 
      input.onclick = function() {setFps(fpsValues[fps]);}; 
     })(); 

     camera.apendChild(input); 
     parent.appendChild(camera); 
    } 
}