Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2015, 15:48
Новичок на форуме
Отправить личное сообщение для demon407 Посмотреть профиль Найти все сообщения от demon407
 
Регистрация: 02.12.2015
Сообщений: 8

помогите найти ошибку начинающему
выводиться только одна фотография а должны две....
что ни так ни как не пойму....
спасибо тому кто подскажет где ляп


<!DOCTYPE html>

<html>
<head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script type="text/javascript" src="jq/jquery-1.11.3.js"></script>
        <style type="text/css">
            .blue { color: blue; }
        </style>
        
</head>
<body>
  
    <h1>Test</h1>
   
    <script>
            
            var newCanvas = document.createElement('canvas');
            newCanvas.id="example";
            newCanvas.height="1000";
            newCanvas.width="1000";
            document.body.appendChild(newCanvas);
                
           
           var example = newCanvas;
           var ctx = example.getContext('2d');
	   ctx.fillRect(0, 0, example.width, example.height);
         
            var pic = new Image();              // "Создаём" изображение    
            //var Persone = new Object();
            var GlobalXpic=0;
            var GlobalYpic=0;
            var correctirX=150;
            var correctirY=-150;
            var Globalname;
            var GlobaldatesLD;
            
            var Persone = [];
           
                   
            Persone[0] = { 
                adresImg :'foto0.jpg',
                name :'вввв ввввв ввввввв',
                datesLD :'1234-3456',
                D:0,
                N:0,
                K:800,
                xpic:500,
                ypic:500
            };    
            
            Persone[1] = {  
                adresImg :'foto1.jpg',
                name :'яяяя яяяяя яяяяяя',
                datesLD :'1232-вввв',
                D:333,// код 1
                N:800,// код 2
                K:423// код 3
               
            };
            
            
            
            
            for(var i=0;i<Persone.length;i++){
                alert("in cicle");
                
                pic.src = Persone[i].adresImg; //w=100 h=133
                alert(Persone[i].adresImg);
                if(Persone[i].D===0 & Persone[i].N===0){
                    alert("D&N=0");
                    GlobalXpic=Persone[i].xpic;
                    GlobalYpic=Persone[i].ypic;
                }
                else{
                    for(var j=0;j<Persone.length;j++){
                        alert("D&N<>0");
                        if (Persone[i].D==Persone[j].K){ alert("нашел код1");GlobalXpic=Persone[j].xpic+correctirX; 
                            GlobalYpic=Persone[j].ypic+correctirY;}
                        if (Persone[i].N==Persone[j].K){ alert("нашел код2");GlobalXpic=Persone[j].xpic+correctirX; 
                            GlobalYpic=Persone[j].ypic+correctirY;}//тут пока ошибка позволяющая 2ной сдвиг
                    }                   
                }
                Globalname=Persone[i].name;
                GlobaldatesLD=Persone[i].datesLD;
                
                Out(); 
                
                
            }
            
            
    
            function Out(){
                alert('out'+GlobalXpic+'x'+GlobalYpic+'x'+pic.src);
                pic.onload = function() {    // Событие onLoad, ждём момента пока загрузится изображение
                    
                ctx.drawImage(pic, GlobalXpic, GlobalYpic);  // Рисуем изображение 
                textOut();  
                }; 
                function textOut(){
                    ctx.font = "italic 6pt Arial";
                    ctx.fillStyle = "#ccc";
                    ctx.fillText(Globalname, GlobalXpic, GlobalYpic+pic.naturalHeight+10); 
                    ctx.fillText(GlobaldatesLD, GlobalXpic, GlobalYpic+pic.naturalHeight+20); 

                }    
            }  
            
    </script>
    
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2015, 23:31
Новичок на форуме
Отправить личное сообщение для demon407 Посмотреть профиль Найти все сообщения от demon407
 
Регистрация: 02.12.2015
Сообщений: 8

сам сделал...никто не помог(
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2015, 00:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

demon407,
ваша ошибка описана тут
Цитата:
Если Вы покликаете на div'ы - они все выдают одинаковый alert.
у вас также сработает только последняя картинка сколько бы их небыло в массиве.
http://javascript.ru/basic/closure#p...-ispolzovaniya

ну и небольшая ошибка в строке 72 и может чего нет в строке 61
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку новичку) (Den_neD) Общие вопросы Javascript 2 03.11.2015 18:26
jQuery ajax - помогите найти ошибку malefikus13 Общие вопросы Javascript 9 12.08.2015 13:36
Помогите найти ошибку в вёрстке OlegALL (X)HTML/CSS 1 03.02.2014 11:58
Помогите найти ошибку в простом скрипет Mekasan Общие вопросы Javascript 3 05.08.2013 12:02
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37