есть проблема с 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, время: 03:02. |