├── .editorconfig
├── .gitignore
├── CHANGELOG.md
├── Gruntfile.js
├── README.md
├── bower.json
├── demo
├── css
│ ├── bootstrap-responsive.css
│ ├── bootstrap-responsive.min.css
│ ├── bootstrap.css
│ ├── bootstrap.min.css
│ ├── flat-ui.css
│ ├── font-awesome-ie7.css
│ ├── font-awesome-ie7.min.css
│ ├── font-awesome.css
│ ├── font-awesome.min.css
│ ├── prism.css
│ ├── styles.css
│ └── theme.css
├── custom_controls.html
├── default_control.html
├── full_page_scrolling.html
├── img
│ ├── -help.gif
│ ├── 360_icon.png
│ ├── 360_logo_orange.jpg
│ ├── 360_logo_orange_70x.jpg
│ ├── browsers.png
│ ├── car
│ │ ├── 1.png
│ │ ├── 10.png
│ │ ├── 11.png
│ │ ├── 12.png
│ │ ├── 13.png
│ │ ├── 14.png
│ │ ├── 15.png
│ │ ├── 16.png
│ │ ├── 17.png
│ │ ├── 18.png
│ │ ├── 19.png
│ │ ├── 2.png
│ │ ├── 20.png
│ │ ├── 21.png
│ │ ├── 22.png
│ │ ├── 23.png
│ │ ├── 24.png
│ │ ├── 25.png
│ │ ├── 26.png
│ │ ├── 27.png
│ │ ├── 28.png
│ │ ├── 29.png
│ │ ├── 3.png
│ │ ├── 30.png
│ │ ├── 31.png
│ │ ├── 32.png
│ │ ├── 33.png
│ │ ├── 34.png
│ │ ├── 35.png
│ │ ├── 36.png
│ │ ├── 37.png
│ │ ├── 38.png
│ │ ├── 39.png
│ │ ├── 4.png
│ │ ├── 40.png
│ │ ├── 41.png
│ │ ├── 42.png
│ │ ├── 43.png
│ │ ├── 44.png
│ │ ├── 45.png
│ │ ├── 46.png
│ │ ├── 47.png
│ │ ├── 48.png
│ │ ├── 49.png
│ │ ├── 5.png
│ │ ├── 50.png
│ │ ├── 51.png
│ │ ├── 52.png
│ │ ├── 6.png
│ │ ├── 7.png
│ │ ├── 8.png
│ │ └── 9.png
│ ├── cusor-move.ico
│ ├── demo.mov
│ ├── demo.mov.gif
│ ├── forward_reverse
│ │ ├── forward-reverse_1.jpg
│ │ ├── forward-reverse_10.jpg
│ │ ├── forward-reverse_11.jpg
│ │ ├── forward-reverse_12.jpg
│ │ ├── forward-reverse_13.jpg
│ │ ├── forward-reverse_14.jpg
│ │ ├── forward-reverse_15.jpg
│ │ ├── forward-reverse_16.jpg
│ │ ├── forward-reverse_17.jpg
│ │ ├── forward-reverse_18.jpg
│ │ ├── forward-reverse_19.jpg
│ │ ├── forward-reverse_2.jpg
│ │ ├── forward-reverse_20.jpg
│ │ ├── forward-reverse_21.jpg
│ │ ├── forward-reverse_22.jpg
│ │ ├── forward-reverse_23.jpg
│ │ ├── forward-reverse_24.jpg
│ │ ├── forward-reverse_25.jpg
│ │ ├── forward-reverse_26.jpg
│ │ ├── forward-reverse_27.jpg
│ │ ├── forward-reverse_28.jpg
│ │ ├── forward-reverse_29.jpg
│ │ ├── forward-reverse_3.jpg
│ │ ├── forward-reverse_30.jpg
│ │ ├── forward-reverse_31.jpg
│ │ ├── forward-reverse_32.jpg
│ │ ├── forward-reverse_33.jpg
│ │ ├── forward-reverse_34.jpg
│ │ ├── forward-reverse_35.jpg
│ │ ├── forward-reverse_36.jpg
│ │ ├── forward-reverse_37.jpg
│ │ ├── forward-reverse_38.jpg
│ │ ├── forward-reverse_39.jpg
│ │ ├── forward-reverse_4.jpg
│ │ ├── forward-reverse_40.jpg
│ │ ├── forward-reverse_5.jpg
│ │ ├── forward-reverse_6.jpg
│ │ ├── forward-reverse_7.jpg
│ │ ├── forward-reverse_8.jpg
│ │ └── forward-reverse_9.jpg
│ ├── fs.png
│ ├── glyphicons-halflings-white.png
│ ├── glyphicons-halflings.png
│ ├── hand_closed.png
│ ├── hand_open.png
│ ├── loader.gif
│ └── sprites.png
├── index.html
├── js
│ ├── bootstrap.js
│ ├── bootstrap.min.js
│ ├── jquery-1.10.2.min.js
│ ├── jquery-1.8.3.min.js
│ ├── modernizr.custom.66977.js
│ └── prism.js
├── multiple_sliders.html
├── plugins.html
└── responsive.html
├── dist
└── threesixty.min.js
├── images
├── 360.png
├── browser_logos-64.png
└── fs.png
├── package.json
├── src
├── plugins
│ └── threesixty.fullscreen.js
└── threesixty.js
└── styles
├── threesixty.css
└── threesixty.less
/.editorconfig:
--------------------------------------------------------------------------------
1 | ; EditorConfig is awesome: http://EditorConfig.org
2 |
3 | root = true ; top-most EditorConfig file
4 |
5 | ; Unix-style newlines with a newline ending every file
6 | [*]
7 | end_of_line = lf
8 | insert_final_newline = true
9 |
10 | ; Tab indentation (no size specified)
11 | [*.js]
12 | indent_style = tab
13 |
14 | ; Indentation override for all JS under lib directory
15 | [lib/**.js]
16 | indent_style = space
17 | indent_size = 2
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | threesixty.sublime*
2 | .DS_Store
3 | .c9*
4 | npm-debug.log
5 | .c9revisions/README.md.c9save
6 | node_modules
7 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 1.0.6-vml (November 20, 2013)
2 |
3 | VML
4 | Shane Daniel & Josh Robison
5 |
6 | - allow for zero padding more than one digit
7 | - smoother gotoAndPlay solution for infinite cycle
8 | - **_disableWrap_** option was added for non-true-360 framesets
9 |
10 | ## 1.0.6 (Aug 17, 2013)
11 | - minor ie issue fixed
12 |
13 | ## 1.0.5 (July 18, 2013)
14 | - **_$.brower.msie_** issue fixed and plugin is now compatible with latest version for jQuery [Issue #26](https://github.com/creativeaura/threesixty-slider/issues/26)
15 | - Code linting added grunt-jshint
16 |
17 | ## 1.0.4 (July 18, 2013)
18 | - Fullscreen plugin added
19 |
20 | ## 1.0.3 (July 18, 2013)
21 | - New demos added and website also updated [http:360slider](http://360slider.com)
22 | - folder structure changed and removed all unwanted files.
23 | - Optional zero padding for filename 1 - 9 [Issue #27](https://github.com/creativeaura/threesixty-slider/issues/27)
24 | zeroPadding: false // If you change it to true it will use zero padding for file names
25 | - **_$.brower.msie_** issue fixed and plugin is now compatible with latest version for jQuery [Issue #26](https://github.com/creativeaura/threesixty-slider/issues/26)
26 | "Uncaught TypeError: Cannot read property 'msie' of undefined" // fixed
27 | - Build script is now using GruntJS tasks
28 | - _different animation length in .previous() and .next()_ fixed [Issue #23](https://github.com/creativeaura/threesixty-slider/issues/23)
29 | - _PNG Images with "disableSpin: true"_ **fixed** [Issue #19](https://github.com/creativeaura/threesixty-slider/issues/19)
30 | - Responsive demo added [Issue #2](https://github.com/creativeaura/threesixty-slider/issues/2)
31 |
32 | ## 1.0.2 (June 20, 2013)
33 | - **_disbaleSpin_** flag was adding _current-image_ in first and third image and that caused issue with transparent .png image.
34 |
35 | ## 1.0.1 (June 03, 2013)
36 | - **_disableSpin_** flag added
37 |
--------------------------------------------------------------------------------
/Gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt) {
2 | require('time-grunt')(grunt);
3 | // Project configuration.
4 | grunt.initConfig({
5 | pkg: grunt.file.readJSON('package.json'),
6 | uglify: {
7 | options: {
8 | banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> verison <%= pkg.version %> */\n'+'/* <%= pkg.repository.url %> */\n'
9 | },
10 | build: {
11 | src: 'src/threesixty.js',
12 | dest: 'dist/threesixty.min.js'
13 | }
14 | },
15 | connect: {
16 | demo: {
17 | options: {
18 | port: 9001,
19 | base: '',
20 | keepalive: true
21 | }
22 | }
23 | },
24 | less: {
25 | development: {
26 | options: {
27 | paths: ["styles"]
28 | },
29 | files: {
30 | "styles/threesixty.css": "styles/threesixty.less"
31 | }
32 | }
33 | },
34 | watch: {
35 | css: {
36 | files: 'styles/*.less',
37 | tasks: ['less']
38 | },
39 | scripts: {
40 | files: 'src/**/*.js',
41 | tasks: ['jshint'],
42 | options: {
43 | debounceDelay: 250
44 | }
45 | }
46 | },
47 | jshint: {
48 | options: {
49 | curly: true,
50 | eqeqeq: true,
51 | eqnull: false,
52 | browser: true,
53 | quotmark: 'single',
54 | globals: {
55 | jQuery: true
56 | }
57 | },
58 | files: {
59 | src: ['src/**/*.js']
60 | }
61 | }
62 | });
63 |
64 | // Load the plugin that provides the "uglify" task.
65 | grunt.loadNpmTasks('grunt-contrib-uglify');
66 | grunt.loadNpmTasks('grunt-contrib-connect');
67 | grunt.loadNpmTasks('grunt-contrib-less');
68 | grunt.loadNpmTasks('grunt-contrib-watch');
69 | grunt.loadNpmTasks('grunt-contrib-jshint');
70 |
71 | // Default task(s).
72 | grunt.registerTask('default', ['jshint', 'uglify']);
73 | grunt.registerTask('build', ['uglify']);
74 | grunt.registerTask('demo', ['connect:demo']);
75 | };
76 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 |
4 | Three Sixty Image slider plugin v1.0.6
5 | =================
6 |
7 | [](https://bitdeli.com/free "Bitdeli Badge")
8 |
9 | This is a jQuery plugin to create 360 degree product image slider. The plugin is full customizable with number of options provided. The plugin have the power to display images in any angle 360 degrees. This feature can be used successfully in many use cases e.g. on an e-commerce site to help customers look products in detail, from any angle they desire.
10 |
11 | **Features**
12 |
13 | - Smooth Animation
14 | - Plenty of option parameters for customization
15 | - Api interaction
16 | - Simple mouse interaction
17 | - Custom behavior tweaking
18 | - Support for touch devices
19 | - Easy to integrate
20 | - No flash
21 | - Plugin integration
22 |
23 | Installation
24 | ---------------------
25 |
26 | Git
27 |
28 | git clone https://github.com/creativeaura/threesixty-slider.git
29 |
30 | Or install using bower
31 |
32 | bower install threesixty-slider
33 |
34 | Example 1
35 | ---------------------
36 | ### Javascript ######
37 | window.onload = init;
38 |
39 | var product;
40 | function init(){
41 |
42 | product1 = $('.product1').ThreeSixty({
43 | totalFrames: 72, // Total no. of image you have for 360 slider
44 | endFrame: 72, // end frame for the auto spin animation
45 | currentFrame: 1, // This the start frame for auto spin
46 | imgList: '.threesixty_images', // selector for image list
47 | progress: '.spinner', // selector to show the loading progress
48 | imagePath:'assets/product1/', // path of the image assets
49 | filePrefix: 'ipod-', // file prefix if any
50 | ext: '.jpg', // extention for the assets
51 | height: 265,
52 | width: 400,
53 | navigation: true,
54 | disableSpin: true // Default false
55 | });
56 |
57 | }
58 |
59 | ### HTML Snippet ######
60 |
61 |
62 |
63 | 0%
64 |
65 |
66 |
67 | Here we are initializing an image slider for product 1. The ThreeSixty class constructor require a config object with properties like totalFrame, endFrame and currentFrame
68 |
69 |
70 | Documentation
71 | ---------------------
72 | ##### Methods
73 |
74 | Public methods to control the slider after initialization.
75 |
76 |
77 | Method Name Description
78 |
79 |
80 | .play() Function to trigger the auto rotation of the slider
81 |
82 |
83 | .stop() Function to stop the auto play
84 |
85 |
86 | .next() Function to move the slider to next frame
87 |
88 |
89 | .previous() Function to move the slider to previous frame
90 |
91 |
92 | .gotoAndPlay() Use this function if you want the slider spin to a particular frame with animation.
93 |
94 |
95 |
96 | ##### Config
97 |
98 | Here are the list of config value you can pass in while you initilize your 360 slider.
99 |
100 |
101 |
102 | Config Default value Type Description
103 |
104 |
105 | totalFrames 180 Number Set total number for frames used in the 360 rotation
106 |
107 |
108 | currentFrame 1 Number Set the starting from of the auto spin on initilize
109 |
110 |
111 | endFrame 180 Number Set the frame where you want the auto spin to stop
112 |
113 |
114 | framerate 60 Number Framerate for the spin animation
115 |
116 |
117 | filePrefix '' String file prefiex for the assets if you assets name is nike_boot_1.png then filePrefix will be nike_boot_
118 |
119 |
120 | ext png String File extension for all the assets
121 |
122 |
123 | height 300 Number Height you want to set for the three sixty container
124 |
125 |
126 |
127 | width 300 Number Width you want to set for the three sixty container
128 |
129 |
130 | style {} Object Object container styles for the preloader similar to jQuery.css({})
131 |
132 |
133 | navigation true Boolean Set false if you don't want default navigation controls
134 |
135 |
136 | autoplayDirection 1 Number Control the direction of the spin depending on your assets. You can use 1 or -1
137 |
138 |
139 | dragging true Boolean Set false if you want to disable mouse and touch events on the slider.
140 |
141 |
142 | disableSpin false Boolean Will disable the initial spin on load
143 |
144 |
145 | zeroPadding false Boolean true will add 0 padding for file names 1 - 9
146 |
147 |
148 | responsive false Boolean Enable responsive width for 360
149 |
150 |
151 |
152 | Demo
153 | ---------------------
154 | - [Example 1 Default Settings](http://360slider.com/default_control.html)
155 | - [Example 2 Custom controls](http://360slider.com/custom_controls.html)
156 | - [Responsive](http://360slider.com/responsive.html)
157 | - [With Plugins](http://360slider.com/plugins.html)
158 | - [Fullscreen](http://360slider.com/full_page_scrolling.html)
159 |
160 | Browsers Supported
161 | ---------------------
162 | 
163 |
164 | This plugin is supported in all browsers including our beloved IE 6
165 |
166 |
167 | Support
168 | ---------------------
169 | For support and question please contact at [gaurav@jassal.me](mailto:gaurav@jassal.me) or follow at [@gauravjassal](http://twitter.com/gauravjassal)
170 |
171 |
172 | LICENSE
173 | ---------
174 |
175 | Copyright 2013 Gaurav Jassal
176 |
177 | Released under the MIT and GPL Licenses.
178 |
179 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "threesixty-slider",
3 | "description": "360 degree Image Slider",
4 | "main": "dist/threesixty.min.js",
5 | "version": "1.0.6",
6 | "ignore": [
7 | ".jshintrc",
8 | ".editorconfig",
9 | ".bowerrc"
10 | ],
11 | "dependencies": {},
12 | "devDependencies": {
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/demo/css/bootstrap-responsive.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Responsive v2.3.2
3 | *
4 | * Copyright 2012 Twitter, Inc
5 | * Licensed under the Apache License v2.0
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Designed and built with all the love in the world @twitter by @mdo and @fat.
9 | */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
10 |
--------------------------------------------------------------------------------
/demo/css/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
2 | [class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;}
3 | .icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
4 | a [class^="icon-"],a [class*=" icon-"]{display:inline;}
5 | [class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
6 | .icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;}
7 | .icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
8 | [class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
9 | .icon-muted{color:#eeeeee;}
10 | .icon-light{color:#ffffff;}
11 | .icon-dark{color:#333333;}
12 | .icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
13 | .icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
14 | .icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
15 | .icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
16 | .icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
17 | .pull-right{float:right;}
18 | .pull-left{float:left;}
19 | [class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
20 | [class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
21 | [class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
22 | .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
23 | .btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
24 | .btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
25 | .nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
26 | .btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
27 | .btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
28 | .btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
29 | .btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
30 | .btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
31 | .btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
32 | .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;}
33 | .icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
34 | .icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
35 | .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
36 | a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;}
37 | @-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
38 | .icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
39 | .icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
40 | .icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
41 | .icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
42 | a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
43 | .icon-glass:before{content:"\f000";}
44 | .icon-music:before{content:"\f001";}
45 | .icon-search:before{content:"\f002";}
46 | .icon-envelope-alt:before{content:"\f003";}
47 | .icon-heart:before{content:"\f004";}
48 | .icon-star:before{content:"\f005";}
49 | .icon-star-empty:before{content:"\f006";}
50 | .icon-user:before{content:"\f007";}
51 | .icon-film:before{content:"\f008";}
52 | .icon-th-large:before{content:"\f009";}
53 | .icon-th:before{content:"\f00a";}
54 | .icon-th-list:before{content:"\f00b";}
55 | .icon-ok:before{content:"\f00c";}
56 | .icon-remove:before{content:"\f00d";}
57 | .icon-zoom-in:before{content:"\f00e";}
58 | .icon-zoom-out:before{content:"\f010";}
59 | .icon-power-off:before,.icon-off:before{content:"\f011";}
60 | .icon-signal:before{content:"\f012";}
61 | .icon-gear:before,.icon-cog:before{content:"\f013";}
62 | .icon-trash:before{content:"\f014";}
63 | .icon-home:before{content:"\f015";}
64 | .icon-file-alt:before{content:"\f016";}
65 | .icon-time:before{content:"\f017";}
66 | .icon-road:before{content:"\f018";}
67 | .icon-download-alt:before{content:"\f019";}
68 | .icon-download:before{content:"\f01a";}
69 | .icon-upload:before{content:"\f01b";}
70 | .icon-inbox:before{content:"\f01c";}
71 | .icon-play-circle:before{content:"\f01d";}
72 | .icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
73 | .icon-refresh:before{content:"\f021";}
74 | .icon-list-alt:before{content:"\f022";}
75 | .icon-lock:before{content:"\f023";}
76 | .icon-flag:before{content:"\f024";}
77 | .icon-headphones:before{content:"\f025";}
78 | .icon-volume-off:before{content:"\f026";}
79 | .icon-volume-down:before{content:"\f027";}
80 | .icon-volume-up:before{content:"\f028";}
81 | .icon-qrcode:before{content:"\f029";}
82 | .icon-barcode:before{content:"\f02a";}
83 | .icon-tag:before{content:"\f02b";}
84 | .icon-tags:before{content:"\f02c";}
85 | .icon-book:before{content:"\f02d";}
86 | .icon-bookmark:before{content:"\f02e";}
87 | .icon-print:before{content:"\f02f";}
88 | .icon-camera:before{content:"\f030";}
89 | .icon-font:before{content:"\f031";}
90 | .icon-bold:before{content:"\f032";}
91 | .icon-italic:before{content:"\f033";}
92 | .icon-text-height:before{content:"\f034";}
93 | .icon-text-width:before{content:"\f035";}
94 | .icon-align-left:before{content:"\f036";}
95 | .icon-align-center:before{content:"\f037";}
96 | .icon-align-right:before{content:"\f038";}
97 | .icon-align-justify:before{content:"\f039";}
98 | .icon-list:before{content:"\f03a";}
99 | .icon-indent-left:before{content:"\f03b";}
100 | .icon-indent-right:before{content:"\f03c";}
101 | .icon-facetime-video:before{content:"\f03d";}
102 | .icon-picture:before{content:"\f03e";}
103 | .icon-pencil:before{content:"\f040";}
104 | .icon-map-marker:before{content:"\f041";}
105 | .icon-adjust:before{content:"\f042";}
106 | .icon-tint:before{content:"\f043";}
107 | .icon-edit:before{content:"\f044";}
108 | .icon-share:before{content:"\f045";}
109 | .icon-check:before{content:"\f046";}
110 | .icon-move:before{content:"\f047";}
111 | .icon-step-backward:before{content:"\f048";}
112 | .icon-fast-backward:before{content:"\f049";}
113 | .icon-backward:before{content:"\f04a";}
114 | .icon-play:before{content:"\f04b";}
115 | .icon-pause:before{content:"\f04c";}
116 | .icon-stop:before{content:"\f04d";}
117 | .icon-forward:before{content:"\f04e";}
118 | .icon-fast-forward:before{content:"\f050";}
119 | .icon-step-forward:before{content:"\f051";}
120 | .icon-eject:before{content:"\f052";}
121 | .icon-chevron-left:before{content:"\f053";}
122 | .icon-chevron-right:before{content:"\f054";}
123 | .icon-plus-sign:before{content:"\f055";}
124 | .icon-minus-sign:before{content:"\f056";}
125 | .icon-remove-sign:before{content:"\f057";}
126 | .icon-ok-sign:before{content:"\f058";}
127 | .icon-question-sign:before{content:"\f059";}
128 | .icon-info-sign:before{content:"\f05a";}
129 | .icon-screenshot:before{content:"\f05b";}
130 | .icon-remove-circle:before{content:"\f05c";}
131 | .icon-ok-circle:before{content:"\f05d";}
132 | .icon-ban-circle:before{content:"\f05e";}
133 | .icon-arrow-left:before{content:"\f060";}
134 | .icon-arrow-right:before{content:"\f061";}
135 | .icon-arrow-up:before{content:"\f062";}
136 | .icon-arrow-down:before{content:"\f063";}
137 | .icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
138 | .icon-resize-full:before{content:"\f065";}
139 | .icon-resize-small:before{content:"\f066";}
140 | .icon-plus:before{content:"\f067";}
141 | .icon-minus:before{content:"\f068";}
142 | .icon-asterisk:before{content:"\f069";}
143 | .icon-exclamation-sign:before{content:"\f06a";}
144 | .icon-gift:before{content:"\f06b";}
145 | .icon-leaf:before{content:"\f06c";}
146 | .icon-fire:before{content:"\f06d";}
147 | .icon-eye-open:before{content:"\f06e";}
148 | .icon-eye-close:before{content:"\f070";}
149 | .icon-warning-sign:before{content:"\f071";}
150 | .icon-plane:before{content:"\f072";}
151 | .icon-calendar:before{content:"\f073";}
152 | .icon-random:before{content:"\f074";}
153 | .icon-comment:before{content:"\f075";}
154 | .icon-magnet:before{content:"\f076";}
155 | .icon-chevron-up:before{content:"\f077";}
156 | .icon-chevron-down:before{content:"\f078";}
157 | .icon-retweet:before{content:"\f079";}
158 | .icon-shopping-cart:before{content:"\f07a";}
159 | .icon-folder-close:before{content:"\f07b";}
160 | .icon-folder-open:before{content:"\f07c";}
161 | .icon-resize-vertical:before{content:"\f07d";}
162 | .icon-resize-horizontal:before{content:"\f07e";}
163 | .icon-bar-chart:before{content:"\f080";}
164 | .icon-twitter-sign:before{content:"\f081";}
165 | .icon-facebook-sign:before{content:"\f082";}
166 | .icon-camera-retro:before{content:"\f083";}
167 | .icon-key:before{content:"\f084";}
168 | .icon-gears:before,.icon-cogs:before{content:"\f085";}
169 | .icon-comments:before{content:"\f086";}
170 | .icon-thumbs-up-alt:before{content:"\f087";}
171 | .icon-thumbs-down-alt:before{content:"\f088";}
172 | .icon-star-half:before{content:"\f089";}
173 | .icon-heart-empty:before{content:"\f08a";}
174 | .icon-signout:before{content:"\f08b";}
175 | .icon-linkedin-sign:before{content:"\f08c";}
176 | .icon-pushpin:before{content:"\f08d";}
177 | .icon-external-link:before{content:"\f08e";}
178 | .icon-signin:before{content:"\f090";}
179 | .icon-trophy:before{content:"\f091";}
180 | .icon-github-sign:before{content:"\f092";}
181 | .icon-upload-alt:before{content:"\f093";}
182 | .icon-lemon:before{content:"\f094";}
183 | .icon-phone:before{content:"\f095";}
184 | .icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
185 | .icon-bookmark-empty:before{content:"\f097";}
186 | .icon-phone-sign:before{content:"\f098";}
187 | .icon-twitter:before{content:"\f099";}
188 | .icon-facebook:before{content:"\f09a";}
189 | .icon-github:before{content:"\f09b";}
190 | .icon-unlock:before{content:"\f09c";}
191 | .icon-credit-card:before{content:"\f09d";}
192 | .icon-rss:before{content:"\f09e";}
193 | .icon-hdd:before{content:"\f0a0";}
194 | .icon-bullhorn:before{content:"\f0a1";}
195 | .icon-bell:before{content:"\f0a2";}
196 | .icon-certificate:before{content:"\f0a3";}
197 | .icon-hand-right:before{content:"\f0a4";}
198 | .icon-hand-left:before{content:"\f0a5";}
199 | .icon-hand-up:before{content:"\f0a6";}
200 | .icon-hand-down:before{content:"\f0a7";}
201 | .icon-circle-arrow-left:before{content:"\f0a8";}
202 | .icon-circle-arrow-right:before{content:"\f0a9";}
203 | .icon-circle-arrow-up:before{content:"\f0aa";}
204 | .icon-circle-arrow-down:before{content:"\f0ab";}
205 | .icon-globe:before{content:"\f0ac";}
206 | .icon-wrench:before{content:"\f0ad";}
207 | .icon-tasks:before{content:"\f0ae";}
208 | .icon-filter:before{content:"\f0b0";}
209 | .icon-briefcase:before{content:"\f0b1";}
210 | .icon-fullscreen:before{content:"\f0b2";}
211 | .icon-group:before{content:"\f0c0";}
212 | .icon-link:before{content:"\f0c1";}
213 | .icon-cloud:before{content:"\f0c2";}
214 | .icon-beaker:before{content:"\f0c3";}
215 | .icon-cut:before{content:"\f0c4";}
216 | .icon-copy:before{content:"\f0c5";}
217 | .icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
218 | .icon-save:before{content:"\f0c7";}
219 | .icon-sign-blank:before{content:"\f0c8";}
220 | .icon-reorder:before{content:"\f0c9";}
221 | .icon-list-ul:before{content:"\f0ca";}
222 | .icon-list-ol:before{content:"\f0cb";}
223 | .icon-strikethrough:before{content:"\f0cc";}
224 | .icon-underline:before{content:"\f0cd";}
225 | .icon-table:before{content:"\f0ce";}
226 | .icon-magic:before{content:"\f0d0";}
227 | .icon-truck:before{content:"\f0d1";}
228 | .icon-pinterest:before{content:"\f0d2";}
229 | .icon-pinterest-sign:before{content:"\f0d3";}
230 | .icon-google-plus-sign:before{content:"\f0d4";}
231 | .icon-google-plus:before{content:"\f0d5";}
232 | .icon-money:before{content:"\f0d6";}
233 | .icon-caret-down:before{content:"\f0d7";}
234 | .icon-caret-up:before{content:"\f0d8";}
235 | .icon-caret-left:before{content:"\f0d9";}
236 | .icon-caret-right:before{content:"\f0da";}
237 | .icon-columns:before{content:"\f0db";}
238 | .icon-sort:before{content:"\f0dc";}
239 | .icon-sort-down:before{content:"\f0dd";}
240 | .icon-sort-up:before{content:"\f0de";}
241 | .icon-envelope:before{content:"\f0e0";}
242 | .icon-linkedin:before{content:"\f0e1";}
243 | .icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
244 | .icon-legal:before{content:"\f0e3";}
245 | .icon-dashboard:before{content:"\f0e4";}
246 | .icon-comment-alt:before{content:"\f0e5";}
247 | .icon-comments-alt:before{content:"\f0e6";}
248 | .icon-bolt:before{content:"\f0e7";}
249 | .icon-sitemap:before{content:"\f0e8";}
250 | .icon-umbrella:before{content:"\f0e9";}
251 | .icon-paste:before{content:"\f0ea";}
252 | .icon-lightbulb:before{content:"\f0eb";}
253 | .icon-exchange:before{content:"\f0ec";}
254 | .icon-cloud-download:before{content:"\f0ed";}
255 | .icon-cloud-upload:before{content:"\f0ee";}
256 | .icon-user-md:before{content:"\f0f0";}
257 | .icon-stethoscope:before{content:"\f0f1";}
258 | .icon-suitcase:before{content:"\f0f2";}
259 | .icon-bell-alt:before{content:"\f0f3";}
260 | .icon-coffee:before{content:"\f0f4";}
261 | .icon-food:before{content:"\f0f5";}
262 | .icon-file-text-alt:before{content:"\f0f6";}
263 | .icon-building:before{content:"\f0f7";}
264 | .icon-hospital:before{content:"\f0f8";}
265 | .icon-ambulance:before{content:"\f0f9";}
266 | .icon-medkit:before{content:"\f0fa";}
267 | .icon-fighter-jet:before{content:"\f0fb";}
268 | .icon-beer:before{content:"\f0fc";}
269 | .icon-h-sign:before{content:"\f0fd";}
270 | .icon-plus-sign-alt:before{content:"\f0fe";}
271 | .icon-double-angle-left:before{content:"\f100";}
272 | .icon-double-angle-right:before{content:"\f101";}
273 | .icon-double-angle-up:before{content:"\f102";}
274 | .icon-double-angle-down:before{content:"\f103";}
275 | .icon-angle-left:before{content:"\f104";}
276 | .icon-angle-right:before{content:"\f105";}
277 | .icon-angle-up:before{content:"\f106";}
278 | .icon-angle-down:before{content:"\f107";}
279 | .icon-desktop:before{content:"\f108";}
280 | .icon-laptop:before{content:"\f109";}
281 | .icon-tablet:before{content:"\f10a";}
282 | .icon-mobile-phone:before{content:"\f10b";}
283 | .icon-circle-blank:before{content:"\f10c";}
284 | .icon-quote-left:before{content:"\f10d";}
285 | .icon-quote-right:before{content:"\f10e";}
286 | .icon-spinner:before{content:"\f110";}
287 | .icon-circle:before{content:"\f111";}
288 | .icon-mail-reply:before,.icon-reply:before{content:"\f112";}
289 | .icon-github-alt:before{content:"\f113";}
290 | .icon-folder-close-alt:before{content:"\f114";}
291 | .icon-folder-open-alt:before{content:"\f115";}
292 | .icon-expand-alt:before{content:"\f116";}
293 | .icon-collapse-alt:before{content:"\f117";}
294 | .icon-smile:before{content:"\f118";}
295 | .icon-frown:before{content:"\f119";}
296 | .icon-meh:before{content:"\f11a";}
297 | .icon-gamepad:before{content:"\f11b";}
298 | .icon-keyboard:before{content:"\f11c";}
299 | .icon-flag-alt:before{content:"\f11d";}
300 | .icon-flag-checkered:before{content:"\f11e";}
301 | .icon-terminal:before{content:"\f120";}
302 | .icon-code:before{content:"\f121";}
303 | .icon-reply-all:before{content:"\f122";}
304 | .icon-mail-reply-all:before{content:"\f122";}
305 | .icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
306 | .icon-location-arrow:before{content:"\f124";}
307 | .icon-crop:before{content:"\f125";}
308 | .icon-code-fork:before{content:"\f126";}
309 | .icon-unlink:before{content:"\f127";}
310 | .icon-question:before{content:"\f128";}
311 | .icon-info:before{content:"\f129";}
312 | .icon-exclamation:before{content:"\f12a";}
313 | .icon-superscript:before{content:"\f12b";}
314 | .icon-subscript:before{content:"\f12c";}
315 | .icon-eraser:before{content:"\f12d";}
316 | .icon-puzzle-piece:before{content:"\f12e";}
317 | .icon-microphone:before{content:"\f130";}
318 | .icon-microphone-off:before{content:"\f131";}
319 | .icon-shield:before{content:"\f132";}
320 | .icon-calendar-empty:before{content:"\f133";}
321 | .icon-fire-extinguisher:before{content:"\f134";}
322 | .icon-rocket:before{content:"\f135";}
323 | .icon-maxcdn:before{content:"\f136";}
324 | .icon-chevron-sign-left:before{content:"\f137";}
325 | .icon-chevron-sign-right:before{content:"\f138";}
326 | .icon-chevron-sign-up:before{content:"\f139";}
327 | .icon-chevron-sign-down:before{content:"\f13a";}
328 | .icon-html5:before{content:"\f13b";}
329 | .icon-css3:before{content:"\f13c";}
330 | .icon-anchor:before{content:"\f13d";}
331 | .icon-unlock-alt:before{content:"\f13e";}
332 | .icon-bullseye:before{content:"\f140";}
333 | .icon-ellipsis-horizontal:before{content:"\f141";}
334 | .icon-ellipsis-vertical:before{content:"\f142";}
335 | .icon-rss-sign:before{content:"\f143";}
336 | .icon-play-sign:before{content:"\f144";}
337 | .icon-ticket:before{content:"\f145";}
338 | .icon-minus-sign-alt:before{content:"\f146";}
339 | .icon-check-minus:before{content:"\f147";}
340 | .icon-level-up:before{content:"\f148";}
341 | .icon-level-down:before{content:"\f149";}
342 | .icon-check-sign:before{content:"\f14a";}
343 | .icon-edit-sign:before{content:"\f14b";}
344 | .icon-external-link-sign:before{content:"\f14c";}
345 | .icon-share-sign:before{content:"\f14d";}
346 | .icon-compass:before{content:"\f14e";}
347 | .icon-collapse:before{content:"\f150";}
348 | .icon-collapse-top:before{content:"\f151";}
349 | .icon-expand:before{content:"\f152";}
350 | .icon-euro:before,.icon-eur:before{content:"\f153";}
351 | .icon-gbp:before{content:"\f154";}
352 | .icon-dollar:before,.icon-usd:before{content:"\f155";}
353 | .icon-rupee:before,.icon-inr:before{content:"\f156";}
354 | .icon-yen:before,.icon-jpy:before{content:"\f157";}
355 | .icon-renminbi:before,.icon-cny:before{content:"\f158";}
356 | .icon-won:before,.icon-krw:before{content:"\f159";}
357 | .icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
358 | .icon-file:before{content:"\f15b";}
359 | .icon-file-text:before{content:"\f15c";}
360 | .icon-sort-by-alphabet:before{content:"\f15d";}
361 | .icon-sort-by-alphabet-alt:before{content:"\f15e";}
362 | .icon-sort-by-attributes:before{content:"\f160";}
363 | .icon-sort-by-attributes-alt:before{content:"\f161";}
364 | .icon-sort-by-order:before{content:"\f162";}
365 | .icon-sort-by-order-alt:before{content:"\f163";}
366 | .icon-thumbs-up:before{content:"\f164";}
367 | .icon-thumbs-down:before{content:"\f165";}
368 | .icon-youtube-sign:before{content:"\f166";}
369 | .icon-youtube:before{content:"\f167";}
370 | .icon-xing:before{content:"\f168";}
371 | .icon-xing-sign:before{content:"\f169";}
372 | .icon-youtube-play:before{content:"\f16a";}
373 | .icon-dropbox:before{content:"\f16b";}
374 | .icon-stackexchange:before{content:"\f16c";}
375 | .icon-instagram:before{content:"\f16d";}
376 | .icon-flickr:before{content:"\f16e";}
377 | .icon-adn:before{content:"\f170";}
378 | .icon-bitbucket:before{content:"\f171";}
379 | .icon-bitbucket-sign:before{content:"\f172";}
380 | .icon-tumblr:before{content:"\f173";}
381 | .icon-tumblr-sign:before{content:"\f174";}
382 | .icon-long-arrow-down:before{content:"\f175";}
383 | .icon-long-arrow-up:before{content:"\f176";}
384 | .icon-long-arrow-left:before{content:"\f177";}
385 | .icon-long-arrow-right:before{content:"\f178";}
386 | .icon-apple:before{content:"\f179";}
387 | .icon-windows:before{content:"\f17a";}
388 | .icon-android:before{content:"\f17b";}
389 | .icon-linux:before{content:"\f17c";}
390 | .icon-dribbble:before{content:"\f17d";}
391 | .icon-skype:before{content:"\f17e";}
392 | .icon-foursquare:before{content:"\f180";}
393 | .icon-trello:before{content:"\f181";}
394 | .icon-female:before{content:"\f182";}
395 | .icon-male:before{content:"\f183";}
396 | .icon-gittip:before{content:"\f184";}
397 | .icon-sun:before{content:"\f185";}
398 | .icon-moon:before{content:"\f186";}
399 | .icon-archive:before{content:"\f187";}
400 | .icon-bug:before{content:"\f188";}
401 | .icon-vk:before{content:"\f189";}
402 | .icon-weibo:before{content:"\f18a";}
403 | .icon-renren:before{content:"\f18b";}
404 |
--------------------------------------------------------------------------------
/demo/css/prism.css:
--------------------------------------------------------------------------------
1 | /**
2 | * prism.js default theme for JavaScript, CSS and HTML
3 | * Based on dabblet (http://dabblet.com)
4 | * @author Lea Verou
5 | */
6 |
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: black;
10 | text-shadow: 0 1px white;
11 | font-family: Consolas, Monaco, 'Andale Mono', monospace;
12 | direction: ltr;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 |
17 | -moz-tab-size: 4;
18 | -o-tab-size: 4;
19 | tab-size: 4;
20 |
21 | -webkit-hyphens: none;
22 | -moz-hyphens: none;
23 | -ms-hyphens: none;
24 | hyphens: none;
25 | }
26 |
27 | ::-moz-selection {
28 | text-shadow: none;
29 | background: #b3d4fc;
30 | }
31 |
32 | ::selection {
33 | text-shadow: none;
34 | background: #b3d4fc;
35 | }
36 |
37 | @media print {
38 | code[class*="language-"],
39 | pre[class*="language-"] {
40 | text-shadow: none;
41 | }
42 | }
43 |
44 | /* Code blocks */
45 | pre[class*="language-"] {
46 | padding: 1em;
47 | margin: .5em 0;
48 | overflow: auto;
49 | }
50 |
51 | :not(pre) > code[class*="language-"],
52 | pre[class*="language-"] {
53 | background: #f5f2f0;
54 | }
55 |
56 | /* Inline code */
57 | :not(pre) > code[class*="language-"] {
58 | padding: .1em;
59 | border-radius: .3em;
60 | }
61 |
62 | .token.comment,
63 | .token.prolog,
64 | .token.doctype,
65 | .token.cdata {
66 | color: slategray;
67 | }
68 |
69 | .token.punctuation {
70 | color: #999;
71 | }
72 |
73 | .namespace {
74 | opacity: .7;
75 | }
76 |
77 | .token.property,
78 | .token.tag,
79 | .token.boolean,
80 | .token.number {
81 | color: #905;
82 | }
83 |
84 | .token.selector,
85 | .token.attr-name,
86 | .token.string {
87 | color: #690;
88 | }
89 |
90 | .token.operator,
91 | .token.entity,
92 | .token.url,
93 | .language-css .token.string,
94 | .style .token.string {
95 | color: #a67f59;
96 | background: hsla(0,0%,100%,.5);
97 | }
98 |
99 | .token.atrule,
100 | .token.attr-value,
101 | .token.keyword {
102 | color: #07a;
103 | }
104 |
105 |
106 | .token.regex,
107 | .token.important {
108 | color: #e90;
109 | }
110 |
111 | .token.important {
112 | font-weight: bold;
113 | }
114 |
115 | .token.entity {
116 | cursor: help;
117 | }
118 |
--------------------------------------------------------------------------------
/demo/css/styles.css:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Custom Styles
3 | ========================================================================== */
4 |
5 |
6 | #main {
7 | margin-top: 100px;
8 | }
9 |
10 | .video-container {
11 | border-radius: 10px;
12 | }
13 | .video-container .demo_video{
14 | margin: 50px 0;
15 | }
16 |
17 | #container{
18 | margin-top: 160px;
19 | min-height: 450px
20 | }
21 |
22 | #social-buttons {
23 | padding: 10px 0;
24 | }
25 |
26 | #social-buttons .social {
27 | margin: 0 auto;
28 | width:530px;
29 | }
30 |
31 | .github_follow{
32 | position: absolute;
33 | right: 10px;
34 | top: 100px;
35 | z-index: 100;
36 | }
--------------------------------------------------------------------------------
/demo/custom_controls.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
45 |
46 |
48 |
60 |
61 |
62 |
63 |
64 |
Custom Controls
65 |
You can set the default navigation to false navigation: false
and have your custom buttons to navigate the 360 slider.
66 |
67 |
68 |
69 |
70 |
71 | HTML Snippet
72 |
73 | <div class="threesixty car">
74 | <div class="spinner">
75 | <span>0%</span>
76 | </div>
77 | <ol class="threesixty_images"></ol>
78 | </div>
79 |
80 |
81 | Javascript
82 |
83 | Javascript
84 |
85 | window.onload = init;
86 |
87 | var car;
88 | function init(){
89 |
90 | car = $('.car').ThreeSixty({
91 | totalFrames: 52, // Total no. of image you have for 360 slider
92 | endFrame: 52, // end frame for the auto spin animation
93 | currentFrame: 1, // This the start frame for auto spin
94 | imgList: '.threesixty_images', // selector for image list
95 | progress: '.spinner', // selector to show the loading progress
96 | imagePath:'assets/car/', // path of the image assets
97 | filePrefix: '', // file prefix if any
98 | ext: '.png', // extention for the assets
99 | height: 1000,
100 | width: 447,
101 | navigation: false
102 | });
103 |
104 | $('.custom_previous').bind('click', function(e) {
105 | car.previous();
106 | });
107 |
108 | $('.custom_next').bind('click', function(e) {
109 | car.next();
110 | });
111 |
112 | $('.custom_play').bind('click', function(e) {
113 | car.play();
114 | });
115 |
116 | $('.custom_stop').bind('click', function(e) {
117 | car.stop();
118 | });
119 |
120 | }
121 |
122 |
123 |
134 |
135 |
136 |
137 |
155 |
156 |
157 |
158 |
159 |
For support and question please contact at gaurav@jassal.me
160 |
161 |
162 |
163 |
164 |
165 |
166 |
This plugin is supported in all browsers including our beloved IE 6
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
183 |
184 |
185 |
186 |
226 |
227 |
228 |
229 |
--------------------------------------------------------------------------------
/demo/default_control.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
47 |
48 |
50 |
51 |
52 |
53 |
54 | 0%
55 |
56 |
57 |
58 |
59 |
60 | HTML Snippet
61 |
62 | <div class="threesixty car">
63 | <div class="spinner">
64 | <span>0%</span>
65 | </div>
66 | <ol class="threesixty_images"></ol>
67 | </div>
68 |
69 |
70 | Javascript
71 |
72 | window.onload = init;
73 |
74 | var car;
75 | function init(){
76 |
77 | car = $('.car').ThreeSixty({
78 | totalFrames: 52, // Total no. of image you have for 360 slider
79 | endFrame: 52, // end frame for the auto spin animation
80 | currentFrame: 1, // This the start frame for auto spin
81 | imgList: '.threesixty_images', // selector for image list
82 | progress: '.spinner', // selector to show the loading progress
83 | imagePath:'assets/car/', // path of the image assets
84 | filePrefix: '', // file prefix if any
85 | ext: '.png', // extention for the assets
86 | height: 1000,
87 | width: 447,
88 | navigation: true
89 | });
90 |
91 | }
92 |
93 |
94 |
105 |
106 |
107 |
108 |
126 |
127 |
128 |
129 |
130 |
For support and question please contact at gaurav@jassal.me
131 |
132 |
133 |
134 |
135 |
136 |
137 |
This plugin is supported in all browsers including our beloved IE 6
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
154 |
155 |
156 |
157 |
182 |
183 |
184 |
185 |
--------------------------------------------------------------------------------
/demo/full_page_scrolling.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
47 |
48 |
50 |
51 |
52 |
53 | 0%
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
Full page scrolling
63 |
This is a very basic demo for full page scrolling. I will be creating another standalone page to showcase the demo.
64 |
65 |
66 |
67 |
68 | HTML Snippet
69 |
70 | <div class="threesixty car">
71 | <div class="spinner">
72 | <span>0%</span>
73 | </div>
74 | <ol class="threesixty_images"></ol>
75 | </div>
76 |
77 |
78 | Javascript
79 |
80 | window.onload = init;
81 |
82 | var car;
83 | function init(){
84 |
85 | car = $('.car').ThreeSixty({
86 | totalFrames: 52, // Total no. of image you have for 360 slider
87 | endFrame: 52, // end frame for the auto spin animation
88 | currentFrame: 1, // This the start frame for auto spin
89 | imgList: '.threesixty_images', // selector for image list
90 | progress: '.spinner', // selector to show the loading progress
91 | imagePath:'assets/car/', // path of the image assets
92 | filePrefix: '', // file prefix if any
93 | ext: '.png', // extention for the assets
94 | height: 1000,
95 | width: 447,
96 | navigation: false,
97 |
98 | });
99 | }
100 |
101 | $(window).scroll(function(event) {
102 | var page_percentage, frame_value, page_offset;
103 | page_offset = $(window)[0].pageYOffset;
104 | if(page_offset) {
105 | if(page_offset > 700) {
106 | page_offset = 700;
107 | }
108 | page_percentage = page_offset / 700 * 100;
109 | frame_value = Math.abs(Math.floor(40 / 100 * page_percentage));
110 | slider.gotoAndPlay(frame_value);
111 | }
112 | });
113 |
114 | // Calculate the frame with window scroll
115 |
116 | //slider.gotoAndPlay(frame_value);
117 |
118 |
119 |
130 |
131 |
132 |
133 |
151 |
152 |
153 |
154 |
155 |
For support and question please contact at gaurav@jassal.me
156 |
157 |
158 |
159 |
160 |
161 |
162 |
This plugin is supported in all browsers including our beloved IE 6
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
179 |
180 |
181 |
182 |
220 |
221 |
222 |
223 |
--------------------------------------------------------------------------------
/demo/img/-help.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/-help.gif
--------------------------------------------------------------------------------
/demo/img/360_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/360_icon.png
--------------------------------------------------------------------------------
/demo/img/360_logo_orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/360_logo_orange.jpg
--------------------------------------------------------------------------------
/demo/img/360_logo_orange_70x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/360_logo_orange_70x.jpg
--------------------------------------------------------------------------------
/demo/img/browsers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/browsers.png
--------------------------------------------------------------------------------
/demo/img/car/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/1.png
--------------------------------------------------------------------------------
/demo/img/car/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/10.png
--------------------------------------------------------------------------------
/demo/img/car/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/11.png
--------------------------------------------------------------------------------
/demo/img/car/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/12.png
--------------------------------------------------------------------------------
/demo/img/car/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/13.png
--------------------------------------------------------------------------------
/demo/img/car/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/14.png
--------------------------------------------------------------------------------
/demo/img/car/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/15.png
--------------------------------------------------------------------------------
/demo/img/car/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/16.png
--------------------------------------------------------------------------------
/demo/img/car/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/17.png
--------------------------------------------------------------------------------
/demo/img/car/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/18.png
--------------------------------------------------------------------------------
/demo/img/car/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/19.png
--------------------------------------------------------------------------------
/demo/img/car/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/2.png
--------------------------------------------------------------------------------
/demo/img/car/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/20.png
--------------------------------------------------------------------------------
/demo/img/car/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/21.png
--------------------------------------------------------------------------------
/demo/img/car/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/22.png
--------------------------------------------------------------------------------
/demo/img/car/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/23.png
--------------------------------------------------------------------------------
/demo/img/car/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/24.png
--------------------------------------------------------------------------------
/demo/img/car/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/25.png
--------------------------------------------------------------------------------
/demo/img/car/26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/26.png
--------------------------------------------------------------------------------
/demo/img/car/27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/27.png
--------------------------------------------------------------------------------
/demo/img/car/28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/28.png
--------------------------------------------------------------------------------
/demo/img/car/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/29.png
--------------------------------------------------------------------------------
/demo/img/car/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/3.png
--------------------------------------------------------------------------------
/demo/img/car/30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/30.png
--------------------------------------------------------------------------------
/demo/img/car/31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/31.png
--------------------------------------------------------------------------------
/demo/img/car/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/32.png
--------------------------------------------------------------------------------
/demo/img/car/33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/33.png
--------------------------------------------------------------------------------
/demo/img/car/34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/34.png
--------------------------------------------------------------------------------
/demo/img/car/35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/35.png
--------------------------------------------------------------------------------
/demo/img/car/36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/36.png
--------------------------------------------------------------------------------
/demo/img/car/37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/37.png
--------------------------------------------------------------------------------
/demo/img/car/38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/38.png
--------------------------------------------------------------------------------
/demo/img/car/39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/39.png
--------------------------------------------------------------------------------
/demo/img/car/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/4.png
--------------------------------------------------------------------------------
/demo/img/car/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/40.png
--------------------------------------------------------------------------------
/demo/img/car/41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/41.png
--------------------------------------------------------------------------------
/demo/img/car/42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/42.png
--------------------------------------------------------------------------------
/demo/img/car/43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/43.png
--------------------------------------------------------------------------------
/demo/img/car/44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/44.png
--------------------------------------------------------------------------------
/demo/img/car/45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/45.png
--------------------------------------------------------------------------------
/demo/img/car/46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/46.png
--------------------------------------------------------------------------------
/demo/img/car/47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/47.png
--------------------------------------------------------------------------------
/demo/img/car/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/48.png
--------------------------------------------------------------------------------
/demo/img/car/49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/49.png
--------------------------------------------------------------------------------
/demo/img/car/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/5.png
--------------------------------------------------------------------------------
/demo/img/car/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/50.png
--------------------------------------------------------------------------------
/demo/img/car/51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/51.png
--------------------------------------------------------------------------------
/demo/img/car/52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/52.png
--------------------------------------------------------------------------------
/demo/img/car/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/6.png
--------------------------------------------------------------------------------
/demo/img/car/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/7.png
--------------------------------------------------------------------------------
/demo/img/car/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/8.png
--------------------------------------------------------------------------------
/demo/img/car/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/car/9.png
--------------------------------------------------------------------------------
/demo/img/cusor-move.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/cusor-move.ico
--------------------------------------------------------------------------------
/demo/img/demo.mov:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/demo.mov
--------------------------------------------------------------------------------
/demo/img/demo.mov.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/demo.mov.gif
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_1.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_10.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_11.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_12.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_13.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_14.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_15.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_16.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_17.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_18.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_19.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_2.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_20.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_21.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_22.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_23.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_24.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_25.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_26.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_27.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_28.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_29.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_3.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_30.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_31.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_32.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_33.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_33.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_34.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_34.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_35.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_35.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_36.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_36.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_37.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_37.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_38.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_38.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_39.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_39.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_4.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_40.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_40.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_5.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_6.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_7.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_8.jpg
--------------------------------------------------------------------------------
/demo/img/forward_reverse/forward-reverse_9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/forward_reverse/forward-reverse_9.jpg
--------------------------------------------------------------------------------
/demo/img/fs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/fs.png
--------------------------------------------------------------------------------
/demo/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/demo/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/demo/img/hand_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/hand_closed.png
--------------------------------------------------------------------------------
/demo/img/hand_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/hand_open.png
--------------------------------------------------------------------------------
/demo/img/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/loader.gif
--------------------------------------------------------------------------------
/demo/img/sprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vml-webdev/threesixty-slider/07a45c899afe12ccf1b1dbbbd53e5711f5cb2c41/demo/img/sprites.png
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
44 |
45 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
65 |
66 |
67 |
68 |
86 |
87 |
88 |
89 |
90 |
For support and question please contact at gaurav@jassal.me
91 |
92 |
93 |
94 |
95 |
96 |
97 |
This plugin is supported in all browsers including our beloved IE 6
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
114 |
115 |
116 |
117 |
118 |
119 |
--------------------------------------------------------------------------------
/demo/js/modernizr.custom.66977.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.flexboxlegacy=function(){return I("boxDirection")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML=" ",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;fe.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+""+s.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();;
6 | Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});;
7 | Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<|<)style[\w\W]*?(>|>)[\w\W]*?(<|<)\/style(>|>)/ig,inside:{tag:{pattern:/(<|<)style[\w\W]*?(>|>)|(<|<)\/style(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});;
8 | Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|(&){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};;
9 | Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<|<)script[\w\W]*?(>|>)[\w\W]*?(<|<)\/script(>|>)/ig,inside:{tag:{pattern:/(<|<)script[\w\W]*?(>|>)|(<|<)\/script(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});;
10 |
--------------------------------------------------------------------------------
/demo/multiple_sliders.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
49 |
50 |
51 |
52 |
53 |
54 | 0%
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | HTML Snippet
64 |
65 | <div class="threesixty car">
66 | <div class="spinner">
67 | <span>0%</span>
68 | </div>
69 | <ol class="threesixty_images"></ol>
70 | </div>
71 |
72 |
73 | Javascript
74 |
75 | window.onload = init;
76 |
77 | var car;
78 | function init(){
79 |
80 | car = $('.car').ThreeSixty({
81 | totalFrames: 52, // Total no. of image you have for 360 slider
82 | endFrame: 52, // end frame for the auto spin animation
83 | currentFrame: 1, // This the start frame for auto spin
84 | imgList: '.threesixty_images', // selector for image list
85 | progress: '.spinner', // selector to show the loading progress
86 | imagePath:'assets/car/', // path of the image assets
87 | filePrefix: '', // file prefix if any
88 | ext: '.png', // extention for the assets
89 | height: 1000,
90 | width: 447,
91 | navigation: true
92 | });
93 |
94 | }
95 |
96 |
97 |
108 |
109 |
110 |
111 |
129 |
130 |
131 |
132 |
133 |
For support and question please contact at gaurav@jassal.me
134 |
135 |
136 |
137 |
138 |
139 |
140 |
This plugin is supported in all browsers including our beloved IE 6
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
157 |
158 |
159 |
160 |
185 |
186 |
187 |
188 |
--------------------------------------------------------------------------------
/demo/plugins.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
46 |
47 |
49 |
50 |
51 |
52 | 0%
53 |
54 |
55 |
56 |
57 |
58 | You can use plugin to view 360 in fullscreen. Include threesixty.fullscreen.js and init plugins: ['ThreeSixtyFullscreen'] in config
59 |
60 |
61 | HTML Snippet
62 |
63 | <div class="threesixty car">
64 | <div class="spinner">
65 | <span>0%</span>
66 | </div>
67 | <ol class="threesixty_images"></ol>
68 | </div>
69 |
70 |
71 | Javascript
72 |
73 | window.onload = init;
74 |
75 | var car;
76 | function init(){
77 |
78 | car = $('.car').ThreeSixty({
79 | totalFrames: 52, // Total no. of image you have for 360 slider
80 | endFrame: 52, // end frame for the auto spin animation
81 | currentFrame: 1, // This the start frame for auto spin
82 | imgList: '.threesixty_images', // selector for image list
83 | progress: '.spinner', // selector to show the loading progress
84 | imagePath:'assets/car/', // path of the image assets
85 | filePrefix: '', // file prefix if any
86 | ext: '.png', // extention for the assets
87 | height: 1000,
88 | width: 447,
89 | navigation: true,
90 | plugins: ['ThreeSixtyFullscreen']
91 | });
92 |
93 | }
94 |
95 |
96 |
107 |
108 |
109 |
110 |
128 |
129 |
130 |
131 |
132 |
For support and question please contact at gaurav@jassal.me
133 |
134 |
135 |
136 |
137 |
138 |
139 |
This plugin is supported in all browsers including our beloved IE 6
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
156 |
157 |
158 |
159 |
160 |
186 |
187 |
188 |
189 |
--------------------------------------------------------------------------------
/demo/responsive.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Threesixty Slider
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
46 |
47 |
49 |
50 |
51 |
52 | 0%
53 |
54 |
55 |
56 |
57 |
58 | HTML Snippet
59 |
60 | <div class="threesixty car">
61 | <div class="spinner">
62 | <span>0%</span>
63 | </div>
64 | <ol class="threesixty_images"></ol>
65 | </div>
66 |
67 |
68 | Javascript
69 |
70 | window.onload = init;
71 |
72 | var car;
73 | function init(){
74 |
75 | car = $('.car').ThreeSixty({
76 | totalFrames: 52, // Total no. of image you have for 360 slider
77 | endFrame: 52, // end frame for the auto spin animation
78 | currentFrame: 1, // This the start frame for auto spin
79 | imgList: '.threesixty_images', // selector for image list
80 | progress: '.spinner', // selector to show the loading progress
81 | imagePath:'assets/car/', // path of the image assets
82 | filePrefix: '', // file prefix if any
83 | ext: '.png', // extention for the assets
84 | height: 1000,
85 | width: 447,
86 | navigation: true,
87 | responsive: true
88 | });
89 |
90 | }
91 |
92 |
93 |
104 |
105 |
106 |
107 |
125 |
126 |
127 |
128 |
129 |
For support and question please contact at gaurav@jassal.me
130 |
131 |
132 |
133 |
134 |
135 |
136 |
This plugin is supported in all browsers including our beloved IE 6
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
149 |
150 |
One fine body…
151 |
152 |
156 |
157 |
158 |
168 |
169 |
170 |
171 |
196 |
197 |
198 |
199 |
--------------------------------------------------------------------------------
/dist/threesixty.min.js:
--------------------------------------------------------------------------------
1 | /*! threesixty-slider 2013-11-22 verison 1.0.6-vml */
2 | /* http://github.com/vml-webdev/threesixty-slider.git */
3 | !function(a){"use strict";a.ThreeSixty=function(b,c){var d,e=this,f=[];e.$el=a(b),e.el=b,e.$el.data("ThreeSixty",e),e.init=function(){d=a.extend({},a.ThreeSixty.defaultOptions,c),d.parallel||e.loadImages(),d.disableSpin&&(d.currentFrame=1,d.endFrame=1),e.initProgress()},e.initProgress=function(){e.$el.css({width:d.width+"px",height:d.height+"px","background-image":"none !important"}).css(d.styles),d.responsive&&e.$el.css({width:"100%"}),e.$el.find(d.progress).css({marginTop:d.height/2-15+"px"}),e.$el.find(d.progress).fadeIn("slow"),e.$el.find(d.imgList).hide()},e.loadImages=function(){var b,c,g,h;b=document.createElement("li"),h=d.zeroBased?0:1,c=d.domain+d.imagePath+d.filePrefix+e.zeroPad(d.loadedImages+h)+d.ext+(e.browser.isIE()?"?"+(new Date).getTime():""),g=a(" ").attr("src",c).addClass("previous-image").appendTo(b),f.push(g),e.$el.find(d.imgList).append(b),a(g).load(function(){e.imageLoaded()})},e.imageLoaded=function(){d.loadedImages+=1,a(d.progress+" span").text(Math.floor(d.loadedImages/d.totalFrames*100)+"%"),d.loadedImages>=d.totalFrames?(d.disableSpin&&f[0].removeClass("previous-image").addClass("current-image"),a(d.progress).fadeOut("slow",function(){a(this).hide(),e.showImages(),e.showNavigation()})):e.loadImages()},e.showImages=function(){e.$el.find(".txtC").fadeIn(),e.$el.find(d.imgList).fadeIn(),e.ready=!0,d.ready=!0,e.initEvents(),e.refresh(),e.initPlugins()},e.initPlugins=function(){a.each(d.plugins,function(b,c){if("function"!=typeof a[c])throw new Error(c+" not available.");a[c].call(e,e.$el,d)})},e.showNavigation=function(){if(d.navigation&&!d.navigation_init){var b,c,f,g;b=a("
").attr("class","nav_bar"),c=a(" ").attr({href:"#","class":"nav_bar_next"}).html("next"),f=a(" ").attr({href:"#","class":"nav_bar_previous"}).html("previous"),g=a(" ").attr({href:"#","class":"nav_bar_play"}).html("play"),b.append(f),b.append(g),b.append(c),e.$el.prepend(b),c.bind("mousedown touchstart",e.next),f.bind("mousedown touchstart",e.previous),g.bind("mousedown touchstart",e.play_stop),d.navigation_init=!0}},e.play_stop=function(b){b.preventDefault(),d.autoplay?(d.autoplay=!1,a(b.currentTarget).removeClass("nav_bar_stop").addClass("nav_bar_play"),clearInterval(d.play),d.play=null):(d.autoplay=!0,d.play=setInterval(e.moveToNextFrame,40),a(b.currentTarget).removeClass("nav_bar_play").addClass("nav_bar_stop"))},e.next=function(a){a&&a.preventDefault(),d.endFrame-=5,e.refresh()},e.previous=function(a){a&&a.preventDefault(),d.endFrame+=5,e.refresh()},e.play=function(){d.autoplay||(d.autoplay=!0,d.play=setInterval(e.moveToNextFrame,40))},e.stop=function(){d.autoplay&&(d.autoplay=!1,clearInterval(d.play),d.play=null)},e.moveToNextFrame=function(){1===d.autoplayDirection?d.endFrame-=1:d.endFrame+=1,e.refresh()},e.gotoAndPlay=function(a){if(d.disableWrap)d.endFrame=a,e.refresh();else{var b=Math.ceil(d.endFrame/d.totalFrames);0===b&&(b=1);var c=b>1?d.endFrame-(b-1)*d.totalFrames:d.endFrame,f=d.totalFrames-c,g=0;g=a-c>0?a-cc-a?d.endFrame-(c-a):d.endFrame+(f+a),c!==a&&(d.endFrame=g,e.refresh())}},e.initEvents=function(){e.$el.bind("mousedown touchstart touchmove touchend mousemove click",function(a){a.preventDefault(),"mousedown"===a.type&&1===a.which||"touchstart"===a.type?(d.pointerStartPosX=e.getPointerEvent(a).pageX,d.dragging=!0):"touchmove"===a.type?e.trackPointer(a):"touchend"===a.type&&(d.dragging=!1)}),a(document).bind("mouseup",function(){d.dragging=!1,a(this).css("cursor","none")}),a(document).bind("mousemove",function(a){d.dragging?(a.preventDefault(),!e.browser.isIE&&d.showCursor&&e.$el.css("cursor","url(assets/images/hand_closed.png), auto")):!e.browser.isIE&&d.showCursor&&e.$el.css("cursor","url(assets/images/hand_open.png), auto"),e.trackPointer(a)})},e.getPointerEvent=function(a){return a.originalEvent.targetTouches?a.originalEvent.targetTouches[0]:a},e.trackPointer=function(a){d.ready&&d.dragging&&(d.pointerEndPosX=e.getPointerEvent(a).pageX,d.monitorStartTime<(new Date).getTime()-d.monitorInt&&(d.pointerDistance=d.pointerEndPosX-d.pointerStartPosX,d.endFrame=d.currentFrame+Math.ceil((d.totalFrames-1)*d.speedMultiplier*(d.pointerDistance/e.$el.width())),d.disableWrap&&(d.endFrame=Math.min(d.totalFrames-(d.zeroBased?1:0),d.endFrame),d.endFrame=Math.max(d.zeroBased?0:1,d.endFrame)),e.refresh(),d.monitorStartTime=(new Date).getTime(),d.pointerStartPosX=e.getPointerEvent(a).pageX))},e.refresh=function(){0===d.ticker&&(d.ticker=setInterval(e.render,Math.round(1e3/d.framerate)))},e.render=function(){var a;d.currentFrame!==d.endFrame?(a=d.endFramea&&(a+=d.totalFrames-1)),a},e.zeroPad=function(a){function b(a,b){var c=a.toString();if(d.zeroPadding)for(;c.lengthFullscreen'),
21 | isFullscreen = false,
22 | pfx = ['webkit', 'moz', 'ms', 'o', ''];
23 |
24 | // Attach event to the plugin
25 | $button.bind('click', function(event) {
26 | plugin.onClickHandler.apply(this, event);
27 | });
28 |
29 | /**
30 | * Set styles for the plugin interface.
31 | * @return {Object} this
32 | */
33 | plugin.setStyles = function() {
34 | $button.css({
35 | 'z-index': 12,
36 | 'display': 'block',
37 | 'position': 'absolute',
38 | 'background': 'url(img/fs.png) no-repeat',
39 | 'width': '20px',
40 | 'height': '20px',
41 | 'text-indent': '-99999px',
42 | 'right': '5px',
43 | 'bottom': '5px',
44 | 'background-position': '0px -20px'
45 | });
46 | return this;
47 | };
48 |
49 | plugin.RunPrefixMethod = function(obj, method) {
50 | var p = 0,
51 | m, t;
52 | while (p < pfx.length && !obj[m]) {
53 | m = method;
54 | if (pfx[p] === '') {
55 | m = m.substr(0, 1).toLowerCase() + m.substr(1);
56 | }
57 | m = pfx[p] + m;
58 | t = typeof obj[m];
59 | if (t !== 'undefined') {
60 | pfx = [pfx[p]];
61 | return (t === 'function' ? obj[m]() : obj[m]);
62 | }
63 | p++;
64 | }
65 | };
66 | /**
67 | * Initilize the fullscreen plugin
68 | * @param {Object} opt override options
69 | */
70 | plugin.init = function() {
71 | plugin.setStyles();
72 | $el.prepend($button);
73 | };
74 |
75 | plugin.onClickHandler = function(e) {
76 | var elem;
77 | if (typeof $el.attr('id') !== 'undefined') {
78 | elem = document.getElementById($el.attr('id'));
79 | } else if (typeof $el.parent().attr('id') !== 'undefined') {
80 | elem = document.getElementById($el.parent().attr('id'));
81 | } else {
82 | return false;
83 | }
84 |
85 | plugin.toggleFullscreen(elem);
86 | };
87 |
88 | plugin.toggleButton = function() {
89 | if (isFullscreen) {
90 | $button.css({
91 | 'background-position': '0px 0px'
92 | });
93 | } else {
94 | $button.css({
95 | 'background-position': '0px -20px'
96 | });
97 | }
98 | };
99 |
100 | plugin.toggleFullscreen = function(elem) {
101 | if (plugin.RunPrefixMethod(document, 'FullScreen') || plugin.RunPrefixMethod(document, 'IsFullScreen')) {
102 | plugin.RunPrefixMethod(document, 'CancelFullScreen');
103 | }
104 | else {
105 | plugin.RunPrefixMethod(elem, 'RequestFullScreen');
106 | }
107 | plugin.toggleButton();
108 | };
109 | plugin.init();
110 | };
111 | }(jQuery));
--------------------------------------------------------------------------------
/src/threesixty.js:
--------------------------------------------------------------------------------
1 | /*global $, window, CanvasLoader, jQuery, alert, requestAnimationFrame, cancelAnimationFrame */
2 | /*jslint browser:true, devel:true */
3 |
4 | /*!
5 | * 360 degree Image Slider v1.0.6
6 | * http://gaurav.jassal.me/lab
7 | *
8 | * Copyright 2013, gaurav@jassal.me
9 | * Dual licensed under the MIT or GPL Version 3 licenses.
10 | *
11 | */
12 |
13 | (function ($) {
14 | 'use strict';
15 | /**
16 | * @class ThreeSixty
17 | * **The ThreeSixty slider class**.
18 | *
19 | * This as jQuery plugin to create 360 degree product image slider.
20 | * The plugin is full customizable with number of options provided. The plugin
21 | * have the power to display images in any angle 360 degrees. This feature can be
22 | * used successfully in many use cases e.g. on an e-commerce site to help customers
23 | * look products in detail, from any angle they desire.
24 | *
25 | * **Features**
26 | *
27 | * - Smooth Animation
28 | * - Plenty of option parameters for customization
29 | * - Api interaction
30 | * - Simple mouse interaction
31 | * - Custom behavior tweaking
32 | * - Support for touch devices
33 | * - Easy to integrate
34 | * - No flash
35 | *
36 | * Example code:
37 | * var product1 = $('.product1').ThreeSixty({
38 | * totalFrames: 72,
39 | * endFrame: 72,
40 | * currentFrame: 1,
41 | * imgList: '.threesixty_images',
42 | * progress: '.spinner',
43 | * imagePath:'/assets/product1/',
44 | * filePrefix: 'ipod-',
45 | * ext: '.jpg',
46 | * height: 265,
47 | * width: 400,
48 | * navigation: true
49 | * });
50 | * **Note:** There are loads other options that you can override to customize
51 | * this plugin.
52 |
53 | * @extends jQuery
54 | * @singleton
55 | * @param {String} [el] jQuery selector string for the parent container
56 | * @param {Object} [options] An optional config object
57 | *
58 | * @return this
59 | */
60 |
61 | $.ThreeSixty = function (el, options) {
62 | // To avoid scope issues, use 'base' instead of 'this'
63 | // to reference this class from internal events and functions.
64 | var base = this, AppCongif, frames = [], VERSION = '1.0.2';
65 |
66 | // Access to jQuery and DOM versions of element
67 | /**
68 | * @property {$el}
69 | * jQuery Dom node attached to the slider inherits all jQuery public functions.
70 | */
71 |
72 | base.$el = $(el);
73 | base.el = el;
74 |
75 | // Add a reverse reference to the DOM object
76 | base.$el.data('ThreeSixty', base);
77 |
78 | /**
79 | * @method init
80 | * The function extends the user options with default settings for the
81 | * slider and initilize the slider.
82 | * **Style Override example**
83 | *
84 | * var product1 = $('.product1').ThreeSixty({
85 | * totalFrames: 72,
86 | * endFrame: 72,
87 | * currentFrame: 1,
88 | * imgList: '.threesixty_images',
89 | * progress: '.spinner',
90 | * imagePath:'/assets/product1/',
91 | * filePrefix: 'ipod-',
92 | * ext: '.jpg',
93 | * height: 265,
94 | * width: 400,
95 | * navigation: true,
96 | * styles: {
97 | * border: 2px solide #b4b4b4,
98 | * background: url(http://example.com/images/loader.gif) no-repeat
99 | * }
100 | * });
101 | * @return this
102 | */
103 | base.init = function () {
104 | AppCongif = $.extend({}, $.ThreeSixty.defaultOptions, options);
105 | if (!AppCongif.parallel) {
106 | base.loadImages();
107 | }
108 | if(AppCongif.disableSpin) {
109 | AppCongif.currentFrame = 1;
110 | AppCongif.endFrame = 1;
111 | }
112 | base.initProgress();
113 | };
114 |
115 | /**
116 | * @method initProgress
117 | * @private
118 | * This function setup the progress indicator styles.
119 | * If you want to overreide the default styles of the progress indicator
120 | * you need to pass the css styles in the styles property in plugin options.
121 | *
122 | */
123 | base.initProgress = function() {
124 | base.$el.css({
125 | width: AppCongif.width + 'px',
126 | height: AppCongif.height + 'px',
127 | 'background-image': 'none !important'
128 | }).css(AppCongif.styles);
129 |
130 | if(AppCongif.responsive) {
131 | base.$el.css({ width: '100%' });
132 | }
133 | base.$el.find(AppCongif.progress).css({
134 | marginTop: ((AppCongif.height / 2) - 15) + 'px'
135 | });
136 |
137 | base.$el.find(AppCongif.progress).fadeIn('slow');
138 |
139 | base.$el.find(AppCongif.imgList).hide();
140 | };
141 |
142 | /**
143 | * @method loadImages
144 | * @private
145 | * The function asynchronously loads images and inject into the slider.
146 | */
147 | base.loadImages = function() {
148 | var li, imageName, image, host, baseIndex;
149 | li = document.createElement('li');
150 | baseIndex = AppCongif.zeroBased ? 0 : 1;
151 | imageName = AppCongif.domain + AppCongif.imagePath + AppCongif.filePrefix + base.zeroPad((AppCongif.loadedImages + baseIndex)) + AppCongif.ext + ((base.browser.isIE()) ? '?' + new Date().getTime() : '');
152 | image = $(' ').attr('src', imageName).addClass('previous-image').appendTo(li);
153 |
154 | frames.push(image);
155 |
156 | base.$el.find(AppCongif.imgList).append(li);
157 |
158 | $(image).load(function () {
159 | base.imageLoaded();
160 | });
161 | };
162 | /**
163 | * @method loadImages
164 | * @private
165 | * The function gets triggers once the image is loaded. We also update
166 | * the progress percentage in this function.
167 | */
168 | base.imageLoaded = function () {
169 | AppCongif.loadedImages += 1;
170 | $(AppCongif.progress + ' span').text(Math.floor(AppCongif.loadedImages / AppCongif.totalFrames * 100) + '%');
171 | if (AppCongif.loadedImages >= AppCongif.totalFrames) {
172 | if(AppCongif.disableSpin) {
173 | frames[0].removeClass('previous-image').addClass('current-image');
174 | }
175 | $(AppCongif.progress).fadeOut('slow', function () {
176 | $(this).hide();
177 | base.showImages();
178 | base.showNavigation();
179 | });
180 | } else {
181 | base.loadImages();
182 | }
183 | };
184 |
185 | /**
186 | * @method loadImages
187 | * @private
188 | * This function is called when all the images are loaded.
189 | * **The function does following operations**
190 | * - Removes background image placeholder
191 | * - Displays the 360 images
192 | * - Initilizes mouse intraction events
193 | */
194 | base.showImages = function () {
195 | base.$el.find('.txtC').fadeIn();
196 | base.$el.find(AppCongif.imgList).fadeIn();
197 | base.ready = true;
198 | AppCongif.ready = true;
199 |
200 | base.initEvents();
201 | base.refresh();
202 | base.initPlugins();
203 | };
204 |
205 | /**
206 | * The function to initilize external plugin
207 | */
208 | base.initPlugins = function () {
209 | $.each(AppCongif.plugins, function(i, plugin) {
210 | if(typeof $[plugin] === 'function') {
211 | $[plugin].call(base, base.$el, AppCongif);
212 | } else {
213 | throw new Error(plugin + ' not available.');
214 | }
215 | });
216 | };
217 |
218 | /**
219 | * @method showNavigation
220 | * Creates a navigation panel if navigation is set to true in the
221 | * settings.
222 | */
223 | base.showNavigation = function() {
224 | if (AppCongif.navigation && !AppCongif.navigation_init) {
225 | var nav_bar, next, previous, play_stop;
226 |
227 | nav_bar = $('
').attr('class', 'nav_bar');
228 |
229 | next = $(' ').attr({
230 | 'href': '#',
231 | 'class': 'nav_bar_next'
232 | }).html('next');
233 |
234 | previous = $(' ').attr({
235 | 'href': '#',
236 | 'class': 'nav_bar_previous'
237 | }).html('previous');
238 |
239 | play_stop = $(' ').attr({
240 | 'href': '#',
241 | 'class': 'nav_bar_play'
242 | }).html('play');
243 |
244 | nav_bar.append(previous);
245 | nav_bar.append(play_stop);
246 | nav_bar.append(next);
247 |
248 | base.$el.prepend(nav_bar);
249 |
250 | next.bind('mousedown touchstart', base.next);
251 | previous.bind('mousedown touchstart', base.previous);
252 | play_stop.bind('mousedown touchstart', base.play_stop);
253 | AppCongif.navigation_init = true;
254 | }
255 | };
256 |
257 | /**
258 | * @method play_stop
259 | * @private
260 | * Function toggles the autoplay rotation of 360 slider
261 | * @param {Object} [event] jQuery events object.
262 | *
263 | */
264 |
265 | base.play_stop = function(event) {
266 | event.preventDefault();
267 |
268 | if (!AppCongif.autoplay) {
269 | AppCongif.autoplay = true;
270 | AppCongif.play = setInterval(base.moveToNextFrame, 40);
271 | $(event.currentTarget).removeClass('nav_bar_play').addClass('nav_bar_stop');
272 | } else {
273 | AppCongif.autoplay = false;
274 | $(event.currentTarget).removeClass('nav_bar_stop').addClass('nav_bar_play');
275 | clearInterval(AppCongif.play);
276 | AppCongif.play = null;
277 | }
278 | };
279 |
280 | /**
281 | * @method next
282 | * Using this function you can rotate 360 to next 5 frames.
283 | * @param {Object} [event] jQuery events object.
284 | *
285 | */
286 |
287 | base.next = function(event) {
288 | if (event) { event.preventDefault(); }
289 | AppCongif.endFrame -= 5;
290 | base.refresh();
291 | };
292 |
293 | /**
294 | * @method previous
295 | * Using this function you can rotate 360 to previous 5 frames.
296 | * @param {Object} [event] jQuery events object.
297 | *
298 | */
299 | base.previous = function(event) {
300 | if (event) { event.preventDefault(); }
301 | AppCongif.endFrame += 5;
302 | base.refresh();
303 | };
304 |
305 | /**
306 | * @method play
307 | * You are start the auto rotaion for the slider with this function.
308 | *
309 | */
310 | base.play = function() {
311 | if (!AppCongif.autoplay) {
312 | AppCongif.autoplay = true;
313 | AppCongif.play = setInterval(base.moveToNextFrame, 40);
314 | }
315 | };
316 |
317 | /**
318 | * @method stop
319 | * You can stop the auto rotation of the 360 slider with this function.
320 | *
321 | */
322 |
323 | base.stop = function() {
324 | if (AppCongif.autoplay) {
325 | AppCongif.autoplay = false;
326 | clearInterval(AppCongif.play);
327 | AppCongif.play = null;
328 | }
329 | };
330 |
331 | /**
332 | * @method endFrame
333 | * @private
334 | * Function animates to previous frame
335 | *
336 | */
337 | base.moveToNextFrame = function () {
338 | if (AppCongif.autoplayDirection === 1) {
339 | AppCongif.endFrame -= 1;
340 | } else {
341 | AppCongif.endFrame += 1;
342 | }
343 | base.refresh();
344 | };
345 |
346 | /**
347 | * @method gotoAndPlay
348 | * @public
349 | * Function animates to previous frame
350 | *
351 | */
352 | base.gotoAndPlay = function (n) {
353 | if( AppCongif.disableWrap ) {
354 | AppCongif.endFrame = n;
355 | base.refresh();
356 | } else {
357 | // Since we could be looped around grab the multiplier
358 | var multiplier = Math.ceil(AppCongif.endFrame / AppCongif.totalFrames);
359 | if(multiplier === 0) {
360 | multiplier = 1;
361 | }
362 |
363 | // Figure out the quickest path to the requested frame
364 | var realEndFrame = (multiplier > 1) ?
365 | AppCongif.endFrame - ((multiplier - 1) * AppCongif.totalFrames) :
366 | AppCongif.endFrame;
367 |
368 | var currentFromEnd = AppCongif.totalFrames - realEndFrame;
369 |
370 | // Jump past end if it's faster
371 | var newEndFrame = 0;
372 | if(n - realEndFrame > 0) {
373 | // Faster to move the difference ahead?
374 | if(n - realEndFrame < realEndFrame + (AppCongif.totalFrames - n)) {
375 | newEndFrame = AppCongif.endFrame + (n - realEndFrame);
376 | } else {
377 | newEndFrame = AppCongif.endFrame - (realEndFrame + (AppCongif.totalFrames - n));
378 | }
379 | } else {
380 | // Faster to move the distance back?
381 | if(realEndFrame - n < currentFromEnd + n) {
382 | newEndFrame = AppCongif.endFrame - (realEndFrame - n);
383 | } else {
384 | newEndFrame = AppCongif.endFrame + (currentFromEnd + n);
385 | }
386 | }
387 |
388 | // Now set the end frame
389 | if(realEndFrame !== n) {
390 | AppCongif.endFrame = newEndFrame;
391 | base.refresh();
392 | }
393 | }
394 | };
395 |
396 |
397 | /**
398 | * @method initEvents
399 | * @private
400 | * Function initilizes all the mouse and touch events for 360 slider movement.
401 | *
402 | */
403 | base.initEvents = function () {
404 | base.$el.bind('mousedown touchstart touchmove touchend mousemove click', function (event) {
405 |
406 | event.preventDefault();
407 |
408 | if ((event.type === 'mousedown' && event.which === 1) || event.type === 'touchstart') {
409 | AppCongif.pointerStartPosX = base.getPointerEvent(event).pageX;
410 | AppCongif.dragging = true;
411 | } else if (event.type === 'touchmove') {
412 | base.trackPointer(event);
413 | } else if (event.type === 'touchend') {
414 | AppCongif.dragging = false;
415 | }
416 | });
417 |
418 | $(document).bind('mouseup', function (event) {
419 | //event.preventDefault();
420 | AppCongif.dragging = false;
421 | $(this).css('cursor', 'none');
422 | });
423 |
424 | $(document).bind('mousemove', function (event) {
425 | if (AppCongif.dragging) {
426 | event.preventDefault();
427 | if(!base.browser.isIE && AppCongif.showCursor) {
428 | base.$el.css('cursor', 'url(assets/images/hand_closed.png), auto');
429 | }
430 | } else {
431 | if(!base.browser.isIE && AppCongif.showCursor) {
432 | base.$el.css('cursor', 'url(assets/images/hand_open.png), auto');
433 | }
434 | }
435 | base.trackPointer(event);
436 |
437 | });
438 | };
439 |
440 | /**
441 | * @method getPointerEvent
442 | * @private
443 | * Function returns touch pointer events
444 | *
445 | * @params {Object} [event]
446 | */
447 | base.getPointerEvent = function (event) {
448 | return event.originalEvent.targetTouches ? event.originalEvent.targetTouches[0] : event;
449 | };
450 |
451 | /**
452 | * @method trackPointer
453 | * @private
454 | * Function calculates the distance between the start pointer and end pointer/
455 | *
456 | * @params {Object} [event]
457 | */
458 | base.trackPointer = function (event) {
459 | if (AppCongif.ready && AppCongif.dragging) {
460 | AppCongif.pointerEndPosX = base.getPointerEvent(event).pageX;
461 | if (AppCongif.monitorStartTime < new Date().getTime() - AppCongif.monitorInt) {
462 | AppCongif.pointerDistance = AppCongif.pointerEndPosX - AppCongif.pointerStartPosX;
463 | AppCongif.endFrame = AppCongif.currentFrame + Math.ceil((AppCongif.totalFrames - 1) * AppCongif.speedMultiplier * (AppCongif.pointerDistance / base.$el.width()));
464 |
465 | if( AppCongif.disableWrap ) {
466 | AppCongif.endFrame = Math.min(AppCongif.totalFrames - (AppCongif.zeroBased ? 1 : 0), AppCongif.endFrame);
467 | AppCongif.endFrame = Math.max((AppCongif.zeroBased ? 0 : 1), AppCongif.endFrame);
468 | }
469 | base.refresh();
470 | AppCongif.monitorStartTime = new Date().getTime();
471 | AppCongif.pointerStartPosX = base.getPointerEvent(event).pageX;
472 | }
473 | }
474 | };
475 |
476 | /**
477 | * @method refresh
478 | * @public
479 | * Function refeshes the timer and set interval for render cycle.
480 | *
481 | */
482 |
483 | base.refresh = function () {
484 | if (AppCongif.ticker === 0) {
485 | AppCongif.ticker = setInterval(base.render, Math.round(1000 / AppCongif.framerate));
486 | }
487 | };
488 |
489 | /**
490 | * @method refresh
491 | * @private
492 | * Function render the animation frames on the screen with easing effect.
493 | */
494 |
495 | base.render = function () {
496 | var frameEasing;
497 | if (AppCongif.currentFrame !== AppCongif.endFrame) {
498 | frameEasing = AppCongif.endFrame < AppCongif.currentFrame ? Math.floor((AppCongif.endFrame - AppCongif.currentFrame) * 0.1) : Math.ceil((AppCongif.endFrame - AppCongif.currentFrame) * 0.1);
499 | base.hidePreviousFrame();
500 | AppCongif.currentFrame += frameEasing;
501 | base.showCurrentFrame();
502 | } else {
503 | window.clearInterval(AppCongif.ticker);
504 | AppCongif.ticker = 0;
505 | }
506 | };
507 |
508 | /**
509 | * @method hidePreviousFrame
510 | * @private
511 | * Function hide the previous frame in the animation loop.
512 | */
513 |
514 | base.hidePreviousFrame = function () {
515 | frames[base.getNormalizedCurrentFrame()].removeClass('current-image').addClass('previous-image');
516 | };
517 |
518 | /**
519 | * @method showCurrentFrame
520 | * @private
521 | * Function shows the current frame in the animation loop.
522 | */
523 | base.showCurrentFrame = function () {
524 | frames[base.getNormalizedCurrentFrame()].removeClass('previous-image').addClass('current-image');
525 | };
526 |
527 | /**
528 | * @method getNormalizedCurrentFrame
529 | * @private
530 | * Function normalize and calculate the current frame once the user release the mouse and release touch event.
531 | */
532 |
533 | base.getNormalizedCurrentFrame = function () {
534 | var c, e;
535 |
536 | if ( !AppCongif.disableWrap ) {
537 | c = Math.ceil(AppCongif.currentFrame % AppCongif.totalFrames);
538 | if (c < 0) {
539 | c += (AppCongif.totalFrames - 1);
540 | }
541 | } else {
542 | c = Math.min(AppCongif.currentFrame, AppCongif.totalFrames - (AppCongif.zeroBased ? 1 : 0));
543 | e = Math.min(AppCongif.endFrame, AppCongif.totalFrames - (AppCongif.zeroBased ? 1 : 0));
544 | c = Math.max(c, (AppCongif.zeroBased ? 0 : 1));
545 | e = Math.max(e, (AppCongif.zeroBased ? 0 : 1));
546 | AppCongif.currentFrame = c;
547 | AppCongif.endFrame = e;
548 | }
549 |
550 | return c;
551 | };
552 | /**
553 | * Function to return with zero padding.
554 | */
555 | base.zeroPad = function (num) {
556 | function pad(number, length) {
557 | var str = number.toString();
558 | if(AppCongif.zeroPadding) {
559 | while (str.length < length) {
560 | str = '0' + str;
561 | }
562 | }
563 | return str;
564 | }
565 |
566 | var approximateLog = Math.log(AppCongif.totalFrames) / Math.LN10;
567 | var roundTo = 1e3;
568 | var roundedLog = Math.round(approximateLog * roundTo) / roundTo;
569 | var numChars = Math.floor(roundedLog) + 1;
570 | return pad(num, numChars);
571 | };
572 |
573 | base.browser = {};
574 |
575 | /**
576 | * Function to detect if the brower is IE
577 | * @return {boolean}
578 | */
579 | base.browser.isIE = function () {
580 | return !$.support.leadingWhitespace;
581 | };
582 |
583 | base.init();
584 | };
585 |
586 | $.ThreeSixty.defaultOptions = {
587 | /**
588 | * @cfg {Boolean} dragging [dragging=false]
589 | * @private
590 | * Private propery contains a flags if users is in dragging mode.
591 | */
592 | dragging: false,
593 | /**
594 | * @cfg {Boolean} ready [ready=false]
595 | * @private
596 | * Private propery is set to true is all assets are loading and application is
597 | * ready to render 360 slider.
598 | */
599 | ready: false,
600 | /**
601 | * @cfg {Number} pointerStartPosX
602 | * @private
603 | * private property mouse pointer start x position when user starts dragging slider.
604 | */
605 | pointerStartPosX: 0,
606 | /**
607 | * @cfg {Number} pointerEndPosX
608 | * @private
609 | * private property mouse pointer start x position when user end dragging slider.
610 | */
611 | pointerEndPosX: 0,
612 | /**
613 | * @cfg {Number} pointerDistance
614 | * @private
615 | * private property contains the distance between the pointerStartPosX and pointerEndPosX
616 | */
617 | pointerDistance: 0,
618 | /**
619 | * @cfg {Number} monitorStartTime
620 | * @private
621 | * private property contains time user took in dragging mouse from pointerStartPosX and pointerEndPosX
622 | */
623 | monitorStartTime: 0,
624 | monitorInt: 10,
625 | /**
626 | * @cfg {Number} ticker
627 | * @private
628 | * Timer event that renders the 360
629 | */
630 | ticker: 0,
631 | /**
632 | * @cfg {Number} speedMultiplier
633 | * This property controls the sensitivity for the 360 slider
634 | */
635 | speedMultiplier: 7,
636 | /**
637 | * @cfg {Number} totalFrames
638 | * Set total number for frames used in the 360 rotation
639 | */
640 | totalFrames: 180,
641 | /**
642 | * @cfg {Number} currentFrame
643 | * Current frame of the slider.
644 | */
645 | currentFrame: 0,
646 | /**
647 | * @cfg {Array} endFrame
648 | * Private perperty contains information about the end frame when user slides the slider.
649 | */
650 | endFrame: 0,
651 | /**
652 | * @cfg {Number} loadedImages
653 | * Private property contains count of loaded images.
654 | */
655 | loadedImages: 0,
656 | /**
657 | * @cfg {Array} framerate
658 | * Set framerate for the slider animation
659 | */
660 | framerate: 60,
661 | /**
662 | * @cfg {String} domains
663 | * Set comma seprated list of all parallel domain from where 360 assets needs to be loaded.
664 | */
665 | domains: null,
666 | /**
667 | * @cfg {String} domain
668 | * Domain from where assets needs to be loaded. Use this propery is you want to load all assets from
669 | * single domain.
670 | */
671 | domain: '',
672 | /**
673 | * @cfg {Boolean} parallel
674 | * Set to true if you want to load assets from parallel domain. Default false
675 | */
676 | parallel: false,
677 | /**
678 | * @cfg {Number} queueAmount
679 | * Set number of calls to be made on parallel domains.
680 | */
681 | queueAmount: 8,
682 | /**
683 | * @cfg {Number} idle
684 | * Mouse Inactivite idle time in seconds. If set more than 0 will auto spine the slider
685 | */
686 | idle: 0,
687 | /**
688 | * @cfg {String} filePrefix
689 | * Prefix for the image file name before the numeric value.
690 | */
691 | filePrefix: '',
692 | /**
693 | * @cfg {String} ext [ext=.png]
694 | * Slider image extension.
695 | */
696 | ext: 'png',
697 | /**
698 | * @cfg {Object} height [300]
699 | * Height of the slider
700 | */
701 | height: 300,
702 | /**
703 | * @cfg {Number} width [300]
704 | * Width of the slider
705 | */
706 | width: 300,
707 |
708 | /**
709 | * @cfg {Object} styles
710 | * CSS Styles for the 360 slider
711 | */
712 | styles: {},
713 | /**
714 | * @cfg {Boolean} navigation[false]
715 | * State if navigation controls are visible or not.
716 | */
717 | navigation: false,
718 | /**
719 | * @cfg {Boolean} autoplay[false]
720 | * Autoplay the 360 animation
721 | */
722 | autoplay: false,
723 | /**
724 | * @cfg {number} autoplayDirection [1]
725 | * Direction for autoplay the 360 animation. 1 for right spin, and -1 for left spin.
726 | */
727 | autoplayDirection: 1,
728 | /**
729 | * Property to disable auto spin
730 | * @type {Boolean}
731 | */
732 | disableSpin: false,
733 | /**
734 | * Property to disable infinite wrap
735 | * @type {Boolean}
736 | */
737 | disableWrap: false,
738 | /**
739 | * Responsive width
740 | * @type {Boolean}
741 | */
742 | responsive: false,
743 | /**
744 | * Zero Padding for filenames
745 | * @type {Boolean}
746 | */
747 | zeroPadding: false,
748 | /**
749 | * Zero based for image filenames starting at 0
750 | * @type {Boolean}
751 | */
752 | zeroBased: false,
753 | /**
754 | * @type {Array}
755 | * List of plugins
756 | */
757 | plugins: [],
758 | /**
759 | * @type {Boolean}
760 | * Show hand cursor on drag
761 | */
762 | showCursor: false
763 |
764 | };
765 |
766 |
767 | $.fn.ThreeSixty = function (options) {
768 | return Object.create(new $.ThreeSixty(this, options));
769 | };
770 |
771 | }(jQuery));
772 |
773 | /**
774 | *
775 | * Object.create method for perform as a fallback if method not available.
776 | * The syntax just takes away the illusion that JavaScript uses Classical Inheritance.
777 | */
778 | if (typeof Object.create !== 'function') {
779 | Object.create = function (o) {
780 | 'use strict';
781 | function F() {}
782 | F.prototype = o;
783 | return new F();
784 | };
785 | }
786 |
--------------------------------------------------------------------------------
/styles/threesixty.css:
--------------------------------------------------------------------------------
1 | #container .threesixty {
2 | position: relative;
3 | overflow: hidden;
4 | margin: 0 auto;
5 | }
6 | #container .threesixty .threesixty_images {
7 | display: none;
8 | list-style: none;
9 | margin: 0;
10 | padding: 0;
11 | }
12 | #container .threesixty .threesixty_images img {
13 | position: absolute;
14 | top: 0;
15 | width: 100%;
16 | height: auto;
17 | }
18 | #container .threesixty .threesixty_images img.previous-image {
19 | visibility: hidden;
20 | width: 0;
21 | }
22 | #container .threesixty .threesixty_images img.current-image {
23 | visibility: visible;
24 | width: 100%;
25 | }
26 | #container .threesixty .spinner {
27 | width: 60px;
28 | display: block;
29 | margin: 0 auto;
30 | height: 30px;
31 | background: #333;
32 | background: rgba(0, 0, 0, 0.7);
33 | -webkit-border-radius: 5px;
34 | -moz-border-radius: 5px;
35 | border-radius: 5px;
36 | }
37 | #container .threesixty .spinner span {
38 | font-family: Arial, "MS Trebuchet", sans-serif;
39 | font-size: 12px;
40 | font-weight: bolder;
41 | color: #FFF;
42 | text-align: center;
43 | line-height: 30px;
44 | display: block;
45 | }
46 | #container .threesixty .nav_bar {
47 | position: absolute;
48 | top: 10px;
49 | right: 10px;
50 | z-index: 11;
51 | }
52 | #container .threesixty .nav_bar a {
53 | display: block;
54 | width: 32px;
55 | height: 32px;
56 | float: left;
57 | background: url(/demo/img/sprites.png) no-repeat;
58 | text-indent: -99999px;
59 | }
60 | #container .threesixty .nav_bar a.nav_bar_play {
61 | background-position: 0 0;
62 | }
63 | #container .threesixty .nav_bar a.nav_bar_previous {
64 | background-position: 0 -73px;
65 | }
66 | #container .threesixty .nav_bar a.nav_bar_stop {
67 | background-position: 0 -37px;
68 | }
69 | #container .threesixty .nav_bar a.nav_bar_next {
70 | background-position: 0 -104px;
71 | }
72 | /* html */
73 | #container:-webkit-full-screen {
74 | background: #ffffff;
75 | width: 100%;
76 | height: 100%;
77 | margin-top: 0;
78 | padding-top: 200px;
79 | }
80 | #container:-moz-full-screen {
81 | background: #ffffff;
82 | width: 100%;
83 | height: 100%;
84 | margin-top: 0;
85 | padding-top: 200px;
86 | }
87 |
--------------------------------------------------------------------------------
/styles/threesixty.less:
--------------------------------------------------------------------------------
1 | #container {
2 | .threesixty {
3 | position: relative;
4 | overflow: hidden;
5 | margin: 0 auto;
6 | .threesixty_images {
7 | display: none;
8 | list-style: none;
9 | margin: 0;
10 | padding: 0;
11 | img {
12 | position: absolute;
13 | top: 0;
14 | width: 100%;
15 | height: auto;
16 | }
17 | img.previous-image {
18 | visibility: hidden;
19 | width: 0;
20 | }
21 | img.current-image {
22 | visibility: visible;
23 | width: 100%;
24 | }
25 | }
26 | .spinner {
27 | width: 60px;
28 | display: block;
29 | margin: 0 auto;
30 | height: 30px;
31 | background: #333;
32 | background: rgba(0, 0, 0, 0.7);
33 | -webkit-border-radius: 5px;
34 | -moz-border-radius: 5px;
35 | border-radius: 5px;
36 | span {
37 | font-family: Arial, "MS Trebuchet", sans-serif;
38 | font-size: 12px;
39 | font-weight: bolder;
40 | color: #FFF;
41 | text-align: center;
42 | line-height: 30px;
43 | display: block;
44 | }
45 | }
46 | .nav_bar {
47 | position: absolute;
48 | top: 10px;
49 | right: 10px;
50 | z-index: 11;
51 | a {
52 | display: block;
53 | width: 32px;
54 | height: 32px;
55 | float: left;
56 | background: url(/demo/img/sprites.png) no-repeat;
57 | text-indent: -99999px;
58 | }
59 | a.nav_bar_play {
60 | background-position: 0 0;
61 | }
62 | a.nav_bar_previous {
63 | background-position: 0 -73px;
64 | }
65 | a.nav_bar_stop {
66 | background-position: 0 -37px;
67 | }
68 | a.nav_bar_next {
69 | background-position: 0 -104px;
70 | }
71 | }
72 | }
73 | }
74 |
75 | /* html */
76 | #container:-webkit-full-screen {
77 | background:#ffffff;
78 | width: 100%;
79 | height: 100%;
80 | margin-top: 0;
81 | padding-top: 200px;
82 | }
83 |
84 | #container:-moz-full-screen {
85 | background:#ffffff;
86 | width: 100%;
87 | height: 100%;
88 | margin-top: 0;
89 | padding-top: 200px;
90 | }
--------------------------------------------------------------------------------
139 |-
140 |
141 |
142 | -
143 |
144 |
145 | -
146 | Tweet to @gauravjassal
147 |
148 |
149 | -
150 | Tweet
151 |
152 |
153 |
154 |