[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка при запуске всплывающего окна
skolozhabskiy
добрый день,

вопрос по requirejs и методам define.

есть несколько файлов define, которые участвуют в построении всплывающего окна JQuery ColorBox Plugin:

index.php - все объекты картинок для увеличенного открытия img во всплывающем окне имеют класс cboxElement

<head><script data-main="scripts/main" src="scripts/require.js"></script></head>


scripts/lightbox/load.js

define( 'load',['jquery'],

function ( $ ) {

'use strict';

var LightboxCommon;
var LightboxSingle;
var LightboxVideo;
var LightboxGallery;
var LightboxIframe;
var LightboxLoad;

return {

init: function () {
LightboxLoad = this;
var $lightbox = $( '.js-lightbox-load' );
if ( $lightbox.length ) {
$lightbox.find( '.js-lightbox-trigger' ).on( 'click', LightboxLoad._loadAssets );
$lightbox.find( '.figure-caption' ).on( 'click', LightboxLoad._triggerMainImage );
}
}
,
...................................................

}
}
}


scripts/lightbox/gallery.js схематично такой конструкции:

define(['jquery','common','colorbox'],
function ( $, LightboxCommon ) {
var LightboxGallery;
return {
init: function () {

LightboxGallery = this;

var config = {
transition: 'none',
current: 'Image {current} of {total}',
maxWidth: '90%',
photo: true,
rel: this.rel,
title: LightboxCommon.setTitle,
onLoad: LightboxCommon.onLoadProcessing,
onComplete: LightboxCommon.onCompleteProcessing
};
},
open: function () {
//...............................
}
}
;
}
);


scripts/lightbox/common.js схематично :

define(['jquery','colorbox'],
function ( $ ) {
var Lightbox;
var $cboxContent;
и так далее................

return {


init: function ( closeOnResize ) {
Lightbox = this;
this._setVars();
this._initEvents( closeOnResize );
},

_initEvents: function ( closeOnResize ) {
//............инициализировать события......
},

setTitle: function () {
//.......... добавить заголовок картинки
},

_addDescription: function () {
//...............добавить описание картинки..
},


_addButtons: function () {
//.............добавить кнопки вперед или назад.....
},

_initFeedback: function () {
//...........добавить кнопку закрыть окно..........
},

_setVars: function () {
//............общие установки.........
}
}
;
}
);


main.js

require(["gallery"], function(g) {
g.init();
});

При запуске index.php и кликах по картинкам всплывают увеличенные окна с изображениями, но без кнопок подписей, построение которых определены в модуле common.js. такое впечатление, что при запуске в main.js метода объекта init определенного в gallery.js, последний не видит методов определенных для этого же объекта в common.js

в консоли chrome ошибка :

Error: cboxElement missing settings object

как можно в main.js в вызове функции requirejs задать для cboxElement установки объекта?

как можно одновременно запустить модули gallery.js и common.js, в которых все элементы для построения всплывающего окна с картинкой, заглавием и описанием?

спасибо за любую идею
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.