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