2016-04-24 6 views
0

Работа на веб-странице, где мне хотелось бы, чтобы несколько опрокидываний с одного и того же базового изображения (множественные черные пиксели, распределенные по всей странице, вроде эффекта всплывающего окна). Я считаю, что самый простой способ сделать это - иметь массив со всеми изображениями опрокидывания и массив с базовым изображением (pixel.png). Было много проблем даже с отображением изображений, и теперь, когда у меня есть фоновое изображение, я не могу заставить опрокидывание работать. Попробовали проблему с исправлением ошибок в Chrome с помощью разработчика/отладки, но без кубиков - даже не отображается сообщение об ошибке. Я предполагаю, что это что-то простое, как не вызывая функции должным образом, но я просто не могу видеть это ..Обратный вызов вызова из массива

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
      var revert = new Array('pixel.png'); 
      var inames = new Array('black1off.jpg', 'black2off.jpeg'); 

     //preload 
      if (document.images) { 
       var flipped = new Array(); 
        for(i=0; i< inames.length; i++) { 
         flipped[i] = new Image(); 
         flipped[i] = "media/"+inames[i]; 
         } 
        } 

      function over(num) { 
       if(document.images) { 
       revert[num] = document.images[inames[num]]; 
       document.images[inames[num]] = flipped[num]; 
       } 
      } 
      function out(num) { 
       if(document.images) { 
       document.images[inames[num]] = revert[num]; 
      }    
      } 

</script> 
</head> 
<body> 
<body bgcolor="#000000"> 

    <img src="media/pixel.png" name="pixel" height="50px" width="50px" style="position:absolute; top:30px; left:50px;" onMouseOver="over(0)" onMouseOut="out(0)"> 
    <img src="media/pixel.png" name="pixel" height="50px" width="50px" style="position:absolute; top:30px; left:200px;" onMouseOver="over(1)" onMouseOut="out(1)"> 
    </body> 
    </html> 

ответ

1

Это простой, но то, что вы опубликовали не было даже близко:

Вот Рабочий пример: https://jsfiddle.net/tqw84trm/1/

if (document.images) { 
    var flipped = new Array(); 
    for(i=0; i< inames.length; i++) { 
    flipped[i] = new Image(); 
    flipped[i].src = "media/"+inames[i]; 
    } 
} 

function out (num) { 
    if(document.images) { 
    var rev = revert.slice(); 
    revert[num] = document.images[num].src; 
    document.images[num].src = rev[num]; 
    }    
} 
+0

дамба человек, которого я знаю ваш ответ правильный, но я просто не могу заставить его работать так, как я хочу его. Может потребоваться начать работу над планом B – theYnot