3D spin with controls

The clean interface of Sirv Spin is achieved partly by the minimal use of user interface controls. The only button shown by default is the fullscreen button in the top right.

Instead, you can add all kinds of button configurations or form controls to control a spin.

Buttons under the spin

This example adds 9 buttons underneath a 3D spin. Click the buttons to interact with the spin:

<div class="sirv-container" style="min-height:226px">
    <div class="ihint spin-1"></div>
    <div class="spin-container">
        <div class="Sirv spin-dark-theme" id="spin-1" data-src="https://sirv.sirv.com/website/demos/green-car/green-car.spin?profile=green-car"></div>
    </div>

    <div class="sirv-controls">
        <a onclick="updatePlayPause(false,'#spin-1');Sirv.getInstance('#spin-1').child(0).spin.rotateX(-1); return false;" href="#" class="button flaticon-keyboard54" title="Left"></a>
        <a id="pause-button-spin-1" onclick="Sirv.getInstance('#spin-1').child(0).spin.pause(); updatePlayPause(false,'#spin-1'); return false;" href="#" class="button flaticon-pause44" title="Pause"></a>
        <a id="play-button-spin-1" onclick="Sirv.getInstance('#spin-1').child(0).spin.play(); updatePlayPause(true,'#spin-1'); return false;" href="#" class="button flaticon-play106" title="Play"></a>
        <a onclick="updatePlayPause(false,'#spin-1');Sirv.getInstance('#spin-1').child(0).spin.rotateX(1); return false;" href="#" class="button flaticon-keyboard53" title="Right"></a>
        <a onclick="Sirv.getInstance('#spin-1').child(0).spin.rotateY(-1); return false;" href="#" class="button flaticon-expand39" title="Up"></a>
        <a onclick="Sirv.getInstance('#spin-1').child(0).spin.rotateY(1); return false;" href="#" class="button flaticon-expand38" title="Down"></a>
        <a onclick="Sirv.getInstance('#spin-1').child(0).spin.zoomIn(); return false;" href="#" class="button flaticon-round57" title="Zoom In"></a>
        <a onclick="Sirv.getInstance('#spin-1').child(0).spin.zoomOut(); return false;" href="#" class="button flaticon-round56" title="Zoom Out"></a>
        <a onclick="Sirv.getInstance('#spin-1').fullscreen('spin-1'); return false;" href="#" class="button flaticon-move26" title="Full Screen"></a>
        <a href="#" onclick="showCurrentFrame('#spin-1'); return false;" class="button flaticon-round52" title="Info"></a>
        <div class="clear"></div>
    </div>
</div>

 <link rel="stylesheet" href="https://demo.sirv.com/sirv-controls/sirv-controls.css">
<script src="https://demo.sirv.com/sirv-controls/sirv-controls.js"></script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://scripts.sirv.com/sirvjs/v3/sirv.js"></script>

The button icons are PNG images with transparency, from the Flaticon icon set. Size and style is fully customizable. Choose between many popular icons sets or design your own, for a truly custom experience.

Each button uses a script to call the Sirv Spin API via a JavaScript callback. It’s easy to configure – click to view the code for each demo, to see how it was created.

Buttons on the spin

Buttons can be overlaid over the spin images, instead of below:

 <div class="sirv-container overlay">
    <div class="ihint spin-2"></div>
    <div class="spin-container">
        <div class="Sirv spin-dark-theme" id="spin-2" data-src="https://sirv.sirv.com/website/demos/green-car/green-car-2.spin?profile=green-car"></div>
    </div>
    <div class="sirv-controls">
        <a onclick="updatePlayPause(false,'#spin-2');Sirv.getInstance('#spin-2').child(0).spin.rotateX(-1); return false;" href="#" class="button flaticon-keyboard54" title="Left"></a>
        <a id="pause-button-spin-2" onclick="Sirv.getInstance('#spin-2').child(0).spin.pause(); updatePlayPause(false,'#spin-2'); return false;" href="#" class="button flaticon-pause44" title="Pause"></a>
        <a id="play-button-spin-2" onclick="Sirv.getInstance('#spin-2').child(0).spin.play(); updatePlayPause(true,'#spin-2'); return false;" href="#" class="button flaticon-play106" title="Play"></a>
        <a onclick="updatePlayPause(false,'#spin-2');Sirv.getInstance('#spin-2').child(0).spin.rotateX(1); return false;" href="#" class="button flaticon-keyboard53" title="Right"></a>
        <a onclick="Sirv.getInstance('#spin-2').child(0).spin.rotateY(-1); return false;" href="#" class="button flaticon-expand39" title="Up"></a>
        <a onclick="Sirv.getInstance('#spin-2').child(0).spin.rotateY(1); return false;" href="#" class="button flaticon-expand38" title="Down"></a>
        <a onclick="Sirv.getInstance('#spin-2').child(0).spin.zoomIn(); return false;" href="#" class="button flaticon-round57" title="Zoom In"></a>
        <a onclick="Sirv.getInstance('#spin-2').child(0).spin.zoomOut(); return false;" href="#" class="button flaticon-round56" title="Zoom Out"></a>
        <a onclick="Sirv.getInstance('#spin-2').fullscreen('spin-2'); return false;" href="#" class="button flaticon-move26" title="Full Screen"></a>
        <a href="#" onclick="showCurrentFrame('#spin-2'); return false;" class="button flaticon-round52" title="Info"></a>
        <div class="clear"></div>
    </div>
</div>

 <link rel="stylesheet" href="https://demo.sirv.com/sirv-controls/sirv-controls.css">
<script src="https://demo.sirv.com/sirv-controls/sirv-controls.js"></script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://scripts.sirv.com/sirvjs/v3/sirv.js"></script>

Separate button/link

The API can be used to open spins in fullscreen via a link on your page.

Launch full-screen spin

 <style>
    .spin-hide {height:0;}
<style>

 <div class="spin-container spin-hide">
    <div class="Sirv spin-dark-theme" id="spin-3" data-src="https://demo.sirv.com/spins/test123/Duplo/duplo-zoo.spin"></div>
</div>
<a onclick="Sirv.getInstance('#spin-3').fullscreen(); return false;">Launch full-screen spin</a>

Expert help

If you’re custom designing an interface and would like professional assistance, please contact our team with your requirements and one of our product representatives will assist you.