=====
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-cs3d* which serve as the base container.
.. code-block:: html
:linenos:
To bootstrap the app in javascript, query *.rs-cs3d* element and pass it as an input argument to CarouselStack constructor:
.. code-block:: javascript
:linenos:
var el = document.querySelector('.rs-cs3d');
var cs3d = new CarouselStack(el);
A second object argument filled with :ref:`configuration options` can be passed to the constructor:
.. code-block:: javascript
:linenos:
var cs3d = new CarouselStack(el, {
borderStyle:'6px solid white',
itemShadow:'-4px 2px 4px #666',
useMouseDrag:true,
roundCorner:10,
viewAngleX:-15,
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 cs3d to window context then call its API methods:
.. code-block:: javascript
:linenos:
window.cs3d = cs3d;
// Target item with id: 1
cs3d.target(1);
// ...
// Target next item
cs3d.next();
// ...
// Target previous item
cs3d.prev();
Add event listeners:
.. code-block:: javascript
:linenos:
// Trigger every time an item is targeted
cs3d.addEventListener('target', function(e) {
console.log(e.detail);
});
// Trigger when a category begins to load
cs3d.addEventListener('cload', function(e) {
console.log(e.detail);
});
// Trigger when a category finished loading
cs3d.addEventListener('cloadcomplete', function(e) {
console.log(e.detail);
});