2014-10-30 69 views
0

我有一項任務,涉及到創建一個簡單的購物車。會有一個供用戶選擇的項目列表,其中包括每個項目的圖片。在將它們添加到我的表格之前,我必須緩存圖像。我的問題是,我的緩存和加載圖像的功能沒有任何作用。所發生的只是表格顯示圖像。緩存圖像,然後將它們加載到一個表中的javascript

  1. 這裏是我的表,以及在調用cacheImages()功能

     <script type="text/javascript"> 
          cacheImages(); 
         </script> 
    
         <table id="electronicTable"> 
         <tr id="el1"> 
         <td><img src="" alt="Camera" height="66" width="100" /></td> 
         <td>Digital Camera</td> 
         <td>$75.99</td> 
         <td><input type="button" value="add" 
          onclick="addItem(document.getElementById('el1').rowIndex)" /></td> 
         </tr> 
         <tr id="el2"> 
         <td><img src="" alt="Dvd Player" height="100" width="100" /></td> 
         <td>Portable DVD Player</td> 
         <td>$35.99</td> 
         <td><input type="button" value="add" 
          onclick="addItem(document.getElementById('el2').rowIndex)" /></td> 
         </tr> 
         <tr id="el3"> 
         <td><img src="" alt="Headphones" height="100" width="100" /></td> 
         <td>Headphones</td> 
         <td>$45.99</td> 
         <td><input type="button" value="add" 
          onclick="addItem(document.getElementById('el3').rowIndex)" /></td> 
         </tr> 
         <tr id="el4"> 
         <td><img src="" alt="Microwave Oven" height="66" width="100" /></td> 
         <td>Microwave Oven</td> 
         <td>$75.99</td> 
         <td><input type="button" value="add" 
          onclick="addItem(document.getElementById('el4').rowIndex)" /></td> 
         </tr> 
         <tr id="el5"> 
         <td><img src="" alt="Blutooth speaker" height="77" width="100" /></td> 
         <td>Bluetooth Stereo Speaker</td> 
         <td>$89.99</td> 
         <td><input type="button" value="add" 
          onclick="addItem(document.getElementById('el5').rowIndex)" /></td> 
         </tr> 
         </table> 
    
  2. 這裏是我的cacheImages()函數,這是鏈接到我的HTM文件一個單獨的.js文件

     function cacheImages(){ 
    
          var cameraImage = new Image(); 
          cameraImage.src = "images/camera.jpg"; 
    
          var dvdImage = new Image(); 
          dvdImage.src = "images/dvdPlayer.jpg"; 
    
          var headphonesImage = new Image(); 
          headphonesImage.src = "images/headphones.jpg"; 
    
          var microwaveImage = new Image(); 
          microwaveImage.src = "images/microwave.jpg"; 
    
          var stereoImage = new Image(); 
          stereoImage.src = "images/stereo.jpg"; 
    
          document.images[0].src = cameraImage.src; 
          document.images[1].src = dvdImage.src; 
          document.images[2].src = headphonesImage.src; 
          document.images[3].src = microwaveImage.src; 
          document.images[4].src = stereoImage.src; 
    
    
        } 
    
+0

什麼是'document.images [0]'等等?你在哪裏和如何分配? – Kyojimaru 2014-10-30 05:07:41

+0

@Koijimaru,document.images [0]是我頁面上的第一個圖片元素。所以它是表格中的第一個img。 – Historiun 2014-10-30 05:09:23

+0

你可以嘗試使用完整路徑或'root'的路徑,它工作嗎? – Kyojimaru 2014-10-30 05:14:57

回答

0

你需要切換到正斜槓/爲你我法師路徑。反斜槓只是逃避前面的角色,所以它是一條不存在的路徑。例如"images\camera.jpg"將給'imagescamera.jpg

+0

嗯。那麼,仍然只顯示alt – Historiun 2014-10-30 04:08:31

+0

@Historiun,你確定你的'images'文件夾和你的頁面在同一個目錄下嗎? – Kyojimaru 2014-10-30 04:12:29

+0

100%我在切換到緩存之前在常規img標記中早些時候使用它們。沒有移動任何東西 – Historiun 2014-10-30 04:13:25

相關問題