есть проблема с 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? |
stage обьявлен внутри функции window.onload локально. То есть за её пределами он не видим, если я правильно понимаю этот код должен быть нерабочим во всех браузерах.
Первый вариант обьявите stage глобально. 2й обьявите глобально переменную drawImg, а её функцию обьявите внутри обработчика window.onload, чтобы функция drawImg находилась в той же области видимости в которой находится stage. |
Часовой пояс GMT +3, время: 10:12. |