Я работаю над небольшим проектом для создания галереи изображений с помощью easeljs и jQuery, я очень новичок в обоих инструментах, и эта конкретная проблема заставила меня почесывать голову.Функция init() не определена при использовании easeljs
Мой HTML является очень простой, я просто хочу, чтобы получить функциональность прямо перед тем, как начать добавлять любые навороты:
<body onload="init();">
<div style="margin-top:20px;" class="col-sm-8">
<div class="embed-responsive embed-responsive-4by3">
<canvas class="embed-responsive-item" id="slide-show" width="640" height="480"></canvas>
</div>
</div>
</body>
Если я правильно понимаю, для того, чтобы установить новый этап и, по сути, заставить весь скрипт работать, мне нужно запустить функцию init()
в начале моего скрипта.
$(document).ready(function(){
//declare global variables
var data;
var stage;
var canvas;
var images = [];
var bitmaps = [];
var imageCount = 0;
var slideshowInterval = 3000;
//connect to feed.json
$.ajax({
url: 'json/feed.json',
datatype: 'json',
type: 'get',
cache: false,
success: function(data) {
data = data;
}
});
function init(){
canvas = document.getElementById('slide-show');
stage = new createjs.Stage(canvas);
$(data.feed).each(function(index, value) {
//populate the images array with content from feed.json
images[index] = new Image();
images[index].src = data.feed[index].source;
images[index].onload = imageLoaded;
});
}
function imageLoaded(){
// go through all images and create bitmaps for them.
imageCount++;
if(imageCount >= images.length - 1){
createBitmaps();
}
}
function createBitmaps(){
// create the bitmaps and add them to an array
$(images).each(function(index, value){
bitmaps[index] = new createjs.Bitmap(images[index]);
});
}
function createSlider(){
bitmaps.x = 0;
bitmaps.y = 0;
stage.addChild(bitmaps);
setTimeout(slideshowInterval, slideImage(index));
}
function slideImage(index){
// handle the animation of the slide effect and update dom with image details.
$('#biscuit-name').html(data.feed[index].name);
$('#biscuit-info').html(data.feed[index].text);
}
});
Пожалуйста, знайте, что это, конечно, не закончена, и некоторые из функций полуготовности. Я просто хотел немного отлаживать, когда работал над вещами, и на первом шаге ударил стену с помощью функции init, которая, по-видимому, не срабатывала по назначению.
Спасибо за это acdcjunior, одна из тех вещей, которая имеет смысл, как только кто-то показывает вам LOL! – pragmatic84