=====
Usage
=====
This guide contains Javascript usage, see :ref:`Markup Guide` and :ref:`Themes` for Html and CSS usage.
In html file there are two nested div elements with class name *.rs-container* and *.rs-cf3d* which serve as the base container.
.. code-block:: html
:linenos:
To bootstrap the app in javascript, query *.rs-cf3d* element and pass it as an input argument to PhotoWheel constructor:
.. code-block:: javascript
:linenos:
var el = document.querySelector('.rs-cf3d');
var cf3d = new CarouselFlow(el);
A second object argument filled with :ref:`configuration options` can be passed to the constructor:
.. code-block:: javascript
:linenos:
var cf3d = new CarouselFlow(el, {
containerZ:-1800,
carouselRadius:1400,
mode:'flip',
centerShift:400,
verticalShift:-150,
categoryMenu:{
horizontal:true
}
});
API Methods
-----------
* **target(index)**
Target an item, bring it to center front and show its title and description.
*index*: The item index
* **next**
Target the next item in current category
* **prev**
Target the previous item in current category
Dispatched Events
-----------------
* **cload**
Fire when a category is beginning to load
* **cloadcomplete**
Fire when a category is finished loading
* **target**
Fire when an item is being targeted
Examples
--------
Assign cf3d to window context then call its API methods:
.. code-block:: javascript
:linenos:
window.cf3d = cf3d;
// Target item with id: 1
cf3d.target(1);
// ...
// Target next item
cf3d.next();
// ...
// Target previous item
cf3d.prev();
Add event listeners:
.. code-block:: javascript
:linenos:
// Trigger every time an item is targeted
cf3d.addEventListener('target', function(e) {
console.log(e.detail);
});
// Trigger when a category begins to load
cf3d.addEventListener('cload', function(e) {
console.log(e.detail);
});
// Trigger when a category finished loading
cf3d.addEventListener('cloadcomplete', function(e) {
console.log(e.detail);
});