Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2012, 00:34
Новичок на форуме
Отправить личное сообщение для lastalert Посмотреть профиль Найти все сообщения от lastalert
 
Регистрация: 21.10.2010
Сообщений: 4

есть проблема с KineticJS
всем привет
недавно решил попробовать KineticJS, в данный момент читаю таториалы, дошел до Image и решил немного переписать исходник, показанный там на сайте.
получилось вот что:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <script src="kinetic.js"></script>
    <script>        																													
	function drawImg(src) {
    	    var layer = new Kinetic.Layer();
	    var imageObj = new Image();
            imageObj.onload = function() {
                var image = new Kinetic.Image({                  
                    image: imageObj,
		    draggable: true,                    
                });
                
                layer.add(image);
                 
                stage.add(layer);
            };
            imageObj.src = src;
        
        }
								
	window.onload = function() {
            var stage = new Kinetic.Stage({
                container: "container",
                width: 600,
                height: 400,
            });															                
        };
    </script>
    <style>  		
  	#container {
            border: 3px solid ;
	    background: #fdfdfd;													   		    
  	}  		
    </style>
</head>
<body onmousedown="return false;" bgcolor="#8bbce9">           							
    <img src="test.png" onclick="drawImg(this.src)" />																		
    <div id="container">
    </div>														   
</body>

в хроме ругается так:
Uncaught ReferenceError: stage is not defined
imageObj.onload
ошибка на строке stage.add(layer);
Как заставить функцию видеть stage?
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2012, 23:01
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

stage обьявлен внутри функции window.onload локально. То есть за её пределами он не видим, если я правильно понимаю этот код должен быть нерабочим во всех браузерах.

Первый вариант обьявите stage глобально. 2й обьявите глобально переменную drawImg, а её функцию обьявите внутри обработчика window.onload, чтобы функция drawImg находилась в той же области видимости в которой находится stage.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.04.2012 в 23:26.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 18:24
IE - это и есть проблема. bayah Оффтопик 49 21.05.2010 00:31
Проблема с GET запросом Арсений AJAX и COMET 1 14.05.2010 20:21
Проблема с кодировкой кирилицы внутри скрипта GRIG jQuery 13 29.04.2010 11:30
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56