Version Description
If you have Smooth Slider 2.6 or plus, kindly update to 2.6.3 for proper height calcualtion for responsiveness.
= Before Upgrading =
- Note the Title and Content fonts on your old Smooth Slider.
- Go to 'Settings' panel and 'Save Changes'.
- Recheck the Slider Title, Post Title and the Slider Content fonts on the Settings Panel.
Get older versions
Download this release
Release Info
Developer | internet techies |
Plugin | Smooth Slider |
Version | 2.8.8 |
Comparing to | |
See all releases |
Code changes from version 2.8.7 to 2.8.8
- css/jqueryui/1.8.2/themes/smoothness/jquery-ui.css +489 -0
- css/smooth-slider.css +28 -0
- css/styles/default.css +29 -0
- css/styles/sample.css +45 -0
- images/button_next.png +0 -0
- images/button_prev.png +0 -0
- images/elegantthemes.gif +0 -0
- images/hostgator.gif +0 -0
- images/logo.png +0 -0
- images/slidervilla-728.jpg +0 -0
- images/slidervilla-ad1.jpg +0 -0
- images/smooth_slider_logo.png +0 -0
- includes/smooth-slider-functions.php +1 -1
- js/jcycle.js +1543 -0
- readme.txt +29 -25
- settings/settings.php +6 -6
- settings/sliders.php +51 -14
- slider_versions/smooth_1.php +1 -1
- smooth-slider.php +10 -10
css/jqueryui/1.8.2/themes/smoothness/jquery-ui.css
ADDED
@@ -0,0 +1,489 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery UI CSS Framework
|
3 |
+
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
|
4 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
5 |
+
*/
|
6 |
+
|
7 |
+
/* Layout helpers
|
8 |
+
----------------------------------*/
|
9 |
+
.ui-helper-hidden { display: none; }
|
10 |
+
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
11 |
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
12 |
+
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
13 |
+
.ui-helper-clearfix { display: inline-block; }
|
14 |
+
/* required comment for clearfix to work in Opera \*/
|
15 |
+
* html .ui-helper-clearfix { height:1%; }
|
16 |
+
.ui-helper-clearfix { display:block; }
|
17 |
+
/* end clearfix */
|
18 |
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
19 |
+
|
20 |
+
|
21 |
+
/* Interaction Cues
|
22 |
+
----------------------------------*/
|
23 |
+
.ui-state-disabled { cursor: default !important; }
|
24 |
+
|
25 |
+
|
26 |
+
/* Icons
|
27 |
+
----------------------------------*/
|
28 |
+
|
29 |
+
/* states and images */
|
30 |
+
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
31 |
+
|
32 |
+
|
33 |
+
/* Misc visuals
|
34 |
+
----------------------------------*/
|
35 |
+
|
36 |
+
/* Overlays */
|
37 |
+
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
38 |
+
|
39 |
+
|
40 |
+
/*
|
41 |
+
* jQuery UI CSS Framework
|
42 |
+
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
|
43 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
44 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
45 |
+
*/
|
46 |
+
|
47 |
+
|
48 |
+
/* Component containers
|
49 |
+
----------------------------------*/
|
50 |
+
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
51 |
+
.ui-widget .ui-widget { font-size: 1em; }
|
52 |
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
53 |
+
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
|
54 |
+
.ui-widget-content a { color: #222222; }
|
55 |
+
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
56 |
+
.ui-widget-header a { color: #222222; }
|
57 |
+
|
58 |
+
/* Interaction states
|
59 |
+
----------------------------------*/
|
60 |
+
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
|
61 |
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
|
62 |
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
63 |
+
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
|
64 |
+
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
65 |
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
|
66 |
+
.ui-widget :active { outline: none; }
|
67 |
+
|
68 |
+
/* Interaction Cues
|
69 |
+
----------------------------------*/
|
70 |
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
71 |
+
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
72 |
+
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
|
73 |
+
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
|
74 |
+
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
|
75 |
+
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
76 |
+
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
77 |
+
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
78 |
+
|
79 |
+
/* Icons
|
80 |
+
----------------------------------*/
|
81 |
+
|
82 |
+
/* states and images */
|
83 |
+
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
84 |
+
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
85 |
+
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
86 |
+
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
87 |
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
88 |
+
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
89 |
+
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
90 |
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
91 |
+
|
92 |
+
/* positioning */
|
93 |
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
94 |
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
95 |
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
96 |
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
97 |
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
98 |
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
99 |
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
100 |
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
101 |
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
102 |
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
103 |
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
104 |
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
105 |
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
106 |
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
107 |
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
108 |
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
109 |
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
110 |
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
111 |
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
112 |
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
113 |
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
114 |
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
115 |
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
116 |
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
117 |
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
118 |
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
119 |
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
120 |
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
121 |
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
122 |
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
123 |
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
124 |
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
125 |
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
126 |
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
127 |
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
128 |
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
129 |
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
130 |
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
131 |
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
132 |
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
133 |
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
134 |
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
135 |
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
136 |
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
137 |
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
138 |
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
139 |
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
140 |
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
141 |
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
142 |
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
143 |
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
144 |
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
145 |
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
146 |
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
147 |
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
148 |
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
149 |
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
150 |
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
151 |
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
152 |
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
153 |
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
154 |
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
155 |
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
156 |
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
157 |
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
158 |
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
159 |
+
.ui-icon-extlink { background-position: -32px -80px; }
|
160 |
+
.ui-icon-newwin { background-position: -48px -80px; }
|
161 |
+
.ui-icon-refresh { background-position: -64px -80px; }
|
162 |
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
163 |
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
164 |
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
165 |
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
166 |
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
167 |
+
.ui-icon-document { background-position: -32px -96px; }
|
168 |
+
.ui-icon-document-b { background-position: -48px -96px; }
|
169 |
+
.ui-icon-note { background-position: -64px -96px; }
|
170 |
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
171 |
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
172 |
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
173 |
+
.ui-icon-comment { background-position: -128px -96px; }
|
174 |
+
.ui-icon-person { background-position: -144px -96px; }
|
175 |
+
.ui-icon-print { background-position: -160px -96px; }
|
176 |
+
.ui-icon-trash { background-position: -176px -96px; }
|
177 |
+
.ui-icon-locked { background-position: -192px -96px; }
|
178 |
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
179 |
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
180 |
+
.ui-icon-tag { background-position: -240px -96px; }
|
181 |
+
.ui-icon-home { background-position: 0 -112px; }
|
182 |
+
.ui-icon-flag { background-position: -16px -112px; }
|
183 |
+
.ui-icon-calendar { background-position: -32px -112px; }
|
184 |
+
.ui-icon-cart { background-position: -48px -112px; }
|
185 |
+
.ui-icon-pencil { background-position: -64px -112px; }
|
186 |
+
.ui-icon-clock { background-position: -80px -112px; }
|
187 |
+
.ui-icon-disk { background-position: -96px -112px; }
|
188 |
+
.ui-icon-calculator { background-position: -112px -112px; }
|
189 |
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
190 |
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
191 |
+
.ui-icon-search { background-position: -160px -112px; }
|
192 |
+
.ui-icon-wrench { background-position: -176px -112px; }
|
193 |
+
.ui-icon-gear { background-position: -192px -112px; }
|
194 |
+
.ui-icon-heart { background-position: -208px -112px; }
|
195 |
+
.ui-icon-star { background-position: -224px -112px; }
|
196 |
+
.ui-icon-link { background-position: -240px -112px; }
|
197 |
+
.ui-icon-cancel { background-position: 0 -128px; }
|
198 |
+
.ui-icon-plus { background-position: -16px -128px; }
|
199 |
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
200 |
+
.ui-icon-minus { background-position: -48px -128px; }
|
201 |
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
202 |
+
.ui-icon-close { background-position: -80px -128px; }
|
203 |
+
.ui-icon-closethick { background-position: -96px -128px; }
|
204 |
+
.ui-icon-key { background-position: -112px -128px; }
|
205 |
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
206 |
+
.ui-icon-scissors { background-position: -144px -128px; }
|
207 |
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
208 |
+
.ui-icon-copy { background-position: -176px -128px; }
|
209 |
+
.ui-icon-contact { background-position: -192px -128px; }
|
210 |
+
.ui-icon-image { background-position: -208px -128px; }
|
211 |
+
.ui-icon-video { background-position: -224px -128px; }
|
212 |
+
.ui-icon-script { background-position: -240px -128px; }
|
213 |
+
.ui-icon-alert { background-position: 0 -144px; }
|
214 |
+
.ui-icon-info { background-position: -16px -144px; }
|
215 |
+
.ui-icon-notice { background-position: -32px -144px; }
|
216 |
+
.ui-icon-help { background-position: -48px -144px; }
|
217 |
+
.ui-icon-check { background-position: -64px -144px; }
|
218 |
+
.ui-icon-bullet { background-position: -80px -144px; }
|
219 |
+
.ui-icon-radio-off { background-position: -96px -144px; }
|
220 |
+
.ui-icon-radio-on { background-position: -112px -144px; }
|
221 |
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
222 |
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
223 |
+
.ui-icon-play { background-position: 0 -160px; }
|
224 |
+
.ui-icon-pause { background-position: -16px -160px; }
|
225 |
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
226 |
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
227 |
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
228 |
+
.ui-icon-seek-start { background-position: -80px -160px; }
|
229 |
+
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
230 |
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
231 |
+
.ui-icon-stop { background-position: -96px -160px; }
|
232 |
+
.ui-icon-eject { background-position: -112px -160px; }
|
233 |
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
234 |
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
235 |
+
.ui-icon-power { background-position: 0 -176px; }
|
236 |
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
237 |
+
.ui-icon-signal { background-position: -32px -176px; }
|
238 |
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
239 |
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
240 |
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
241 |
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
242 |
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
243 |
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
244 |
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
245 |
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
246 |
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
247 |
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
248 |
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
249 |
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
250 |
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
251 |
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
252 |
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
253 |
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
254 |
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
255 |
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
256 |
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
257 |
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
258 |
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
259 |
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
260 |
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
261 |
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
262 |
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
263 |
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
264 |
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
265 |
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
266 |
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
267 |
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
268 |
+
|
269 |
+
|
270 |
+
/* Misc visuals
|
271 |
+
----------------------------------*/
|
272 |
+
|
273 |
+
/* Corner radius */
|
274 |
+
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
275 |
+
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
276 |
+
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
277 |
+
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
278 |
+
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
279 |
+
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
280 |
+
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
281 |
+
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
282 |
+
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
283 |
+
|
284 |
+
/* Overlays */
|
285 |
+
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
286 |
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* Resizable
|
287 |
+
----------------------------------*/
|
288 |
+
.ui-resizable { position: relative;}
|
289 |
+
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
290 |
+
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
291 |
+
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
292 |
+
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
293 |
+
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
294 |
+
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
295 |
+
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
296 |
+
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
297 |
+
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
298 |
+
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Selectable
|
299 |
+
----------------------------------*/
|
300 |
+
.ui-selectable-helper { border:1px dotted black }
|
301 |
+
/* Accordion
|
302 |
+
----------------------------------*/
|
303 |
+
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
304 |
+
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
305 |
+
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
306 |
+
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
307 |
+
/* IE7-/Win - Fix extra vertical space in lists */
|
308 |
+
.ui-accordion a { zoom: 1; }
|
309 |
+
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
310 |
+
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
311 |
+
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
312 |
+
.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete
|
313 |
+
----------------------------------*/
|
314 |
+
.ui-autocomplete { position: absolute; cursor: default; }
|
315 |
+
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
|
316 |
+
|
317 |
+
/* workarounds */
|
318 |
+
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
319 |
+
|
320 |
+
/* Menu
|
321 |
+
----------------------------------*/
|
322 |
+
.ui-menu {
|
323 |
+
list-style:none;
|
324 |
+
padding: 2px;
|
325 |
+
margin: 0;
|
326 |
+
display:block;
|
327 |
+
}
|
328 |
+
.ui-menu .ui-menu {
|
329 |
+
margin-top: -3px;
|
330 |
+
}
|
331 |
+
.ui-menu .ui-menu-item {
|
332 |
+
margin:0;
|
333 |
+
padding: 0;
|
334 |
+
zoom: 1;
|
335 |
+
float: left;
|
336 |
+
clear: left;
|
337 |
+
width: 100%;
|
338 |
+
}
|
339 |
+
.ui-menu .ui-menu-item a {
|
340 |
+
text-decoration:none;
|
341 |
+
display:block;
|
342 |
+
padding:.2em .4em;
|
343 |
+
line-height:1.5;
|
344 |
+
zoom:1;
|
345 |
+
}
|
346 |
+
.ui-menu .ui-menu-item a.ui-state-hover,
|
347 |
+
.ui-menu .ui-menu-item a.ui-state-active {
|
348 |
+
font-weight: normal;
|
349 |
+
margin: -1px;
|
350 |
+
}
|
351 |
+
/* Button
|
352 |
+
----------------------------------*/
|
353 |
+
|
354 |
+
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
355 |
+
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
356 |
+
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
357 |
+
.ui-button-icons-only { width: 3.4em; }
|
358 |
+
button.ui-button-icons-only { width: 3.7em; }
|
359 |
+
|
360 |
+
/*button text element */
|
361 |
+
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
362 |
+
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
363 |
+
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
364 |
+
.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
365 |
+
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
366 |
+
/* no icon support for input elements, provide padding by default */
|
367 |
+
input.ui-button { padding: .4em 1em; }
|
368 |
+
|
369 |
+
/*button icon element(s) */
|
370 |
+
.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
371 |
+
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
372 |
+
.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
373 |
+
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
374 |
+
|
375 |
+
/*button sets*/
|
376 |
+
.ui-buttonset { margin-right: 7px; }
|
377 |
+
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
378 |
+
|
379 |
+
/* workarounds */
|
380 |
+
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
381 |
+
|
382 |
+
|
383 |
+
|
384 |
+
|
385 |
+
|
386 |
+
/* Dialog
|
387 |
+
----------------------------------*/
|
388 |
+
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
389 |
+
.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
|
390 |
+
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
|
391 |
+
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
392 |
+
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
393 |
+
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
394 |
+
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
395 |
+
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
396 |
+
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
|
397 |
+
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
398 |
+
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
399 |
+
/* Slider
|
400 |
+
----------------------------------*/
|
401 |
+
.ui-slider { position: relative; text-align: left; }
|
402 |
+
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
403 |
+
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
404 |
+
|
405 |
+
.ui-slider-horizontal { height: .8em; }
|
406 |
+
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
407 |
+
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
408 |
+
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
409 |
+
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
410 |
+
|
411 |
+
.ui-slider-vertical { width: .8em; height: 100px; }
|
412 |
+
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
413 |
+
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
414 |
+
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
415 |
+
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
|
416 |
+
----------------------------------*/
|
417 |
+
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
418 |
+
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
419 |
+
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
420 |
+
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
421 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
422 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
423 |
+
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
424 |
+
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
425 |
+
.ui-tabs .ui-tabs-hide { display: none !important; }
|
426 |
+
/* Datepicker
|
427 |
+
----------------------------------*/
|
428 |
+
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
|
429 |
+
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
430 |
+
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
431 |
+
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
432 |
+
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
433 |
+
.ui-datepicker .ui-datepicker-next { right:2px; }
|
434 |
+
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
435 |
+
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
436 |
+
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
437 |
+
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
438 |
+
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
439 |
+
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
440 |
+
.ui-datepicker select.ui-datepicker-month,
|
441 |
+
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
442 |
+
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
443 |
+
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
444 |
+
.ui-datepicker td { border: 0; padding: 1px; }
|
445 |
+
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
446 |
+
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
447 |
+
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
448 |
+
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
449 |
+
|
450 |
+
/* with multiple calendars */
|
451 |
+
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
452 |
+
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
453 |
+
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
454 |
+
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
455 |
+
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
456 |
+
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
457 |
+
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
458 |
+
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
459 |
+
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
460 |
+
.ui-datepicker-row-break { clear:both; width:100%; }
|
461 |
+
|
462 |
+
/* RTL support */
|
463 |
+
.ui-datepicker-rtl { direction: rtl; }
|
464 |
+
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
465 |
+
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
466 |
+
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
467 |
+
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
468 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
469 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
470 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
471 |
+
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
472 |
+
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
473 |
+
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
474 |
+
|
475 |
+
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
476 |
+
.ui-datepicker-cover {
|
477 |
+
display: none; /*sorry for IE5*/
|
478 |
+
display/**/: block; /*sorry for IE5*/
|
479 |
+
position: absolute; /*must have*/
|
480 |
+
z-index: -1; /*must have*/
|
481 |
+
filter: mask(); /*must have*/
|
482 |
+
top: -4px; /*must have*/
|
483 |
+
left: -4px; /*must have*/
|
484 |
+
width: 200px; /*must have*/
|
485 |
+
height: 200px; /*must have*/
|
486 |
+
}/* Progressbar
|
487 |
+
----------------------------------*/
|
488 |
+
.ui-progressbar { height:2em; text-align: left; }
|
489 |
+
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
css/smooth-slider.css
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "utf-8";
|
2 |
+
/* CSS Document
|
3 |
+
Author:Tejaswini
|
4 |
+
Website:http://www.clickonf5.org
|
5 |
+
*/
|
6 |
+
#smooth_sldr div,#smooth_sldr p,#smooth_sldr li,#smooth_sldr span,#smooth_sldr img,#smooth_sldr h2,#smooth_sldr ul{list-style:none;background:transparent;vertical-align:baseline;}
|
7 |
+
#smooth_sldr div{display:block;}
|
8 |
+
#smooth_sldr span{display:inline;}
|
9 |
+
#smooth_sldr{overflow:hidden;margin: 10px auto;line-height:18px;}
|
10 |
+
#smooth_sldr a{text-decoration:none;}
|
11 |
+
#smooth_sldr_items{width:100%;}
|
12 |
+
#smooth_sldr_body{width:100%;}
|
13 |
+
#smooth_sliderc{position:relative;text-align:justify;}
|
14 |
+
#smooth_sliderc .smooth_sliderb{position:absolute;/*dont change this value*/left:0;top:0;}
|
15 |
+
.smooth_slideri{padding-right:10px;overflow:hidden;line-height:18px;}
|
16 |
+
.sldr_title{margin:0;}
|
17 |
+
#smooth_sldr_body h2{clear:none;display:block;padding:0px;}
|
18 |
+
.slider_item {padding-left:1px;}
|
19 |
+
#smooth_sldr_body p.more a{text-decoration:underline;float:right;}
|
20 |
+
#smooth_sldr_body p.more a:hover{text-decoration:none;}
|
21 |
+
#smooth_sliderc_nav{float:left;width:70%;overflow:hidden;padding:0;margin:2px 0 0 0;}
|
22 |
+
a.smooth_sliderc_nav{margin:0 5px 0 0;display:block;float:left;background-repeat:no-repeat;background-position:center;}
|
23 |
+
#smooth_sliderc_nav li{float:left;margin:0 5px 0 0;display:block;background-color:transparent;line-height:14px;}
|
24 |
+
#smooth_sliderc_nav li a{display:block;padding:1px 5px 1px 5px;outline:none;}
|
25 |
+
.sldrbr{line-height:1px;}
|
26 |
+
.sldrlink{clear:both;display:block;font-size:8px;float:right;margin-top:-8px;font-family:Verdana, Helvetica, sans-serif;}
|
27 |
+
.sldrlink a{color:#333333;}
|
28 |
+
|
css/styles/default.css
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "utf-8";
|
2 |
+
/* CSS Document
|
3 |
+
Author:Tejaswini
|
4 |
+
Website:http://www.clickonf5.org
|
5 |
+
*/
|
6 |
+
#smooth_sldr div,#smooth_sldr p,#smooth_sldr li,#smooth_sldr span,#smooth_sldr img,#smooth_sldr h2,#smooth_sldr ul{list-style:none;background:transparent;vertical-align:baseline;}
|
7 |
+
#smooth_sldr div{display:block;}
|
8 |
+
#smooth_sldr span{display:inline;}
|
9 |
+
#smooth_sldr{overflow:hidden;margin: 10px auto;line-height:18px;}
|
10 |
+
#smooth_sldr a{text-decoration:none;}
|
11 |
+
#smooth_sldr_items{width:100%;}
|
12 |
+
#smooth_sldr_body{width:100%;}
|
13 |
+
#smooth_sliderc{position:relative;text-align:justify;}
|
14 |
+
#smooth_sliderc .smooth_sliderb{position:absolute;/*dont change this value*/left:0;top:0;}
|
15 |
+
.smooth_slideri{padding-right:10px;overflow:hidden;line-height:18px;}
|
16 |
+
.sldr_title{margin:0;}
|
17 |
+
#smooth_sldr_body h2{clear:none;display:block;padding:0px;}
|
18 |
+
.slider_item {padding-left:1px;}
|
19 |
+
#smooth_sldr_body p.more a{text-decoration:underline;float:right;}
|
20 |
+
#smooth_sldr_body p.more a:hover{text-decoration:none;}
|
21 |
+
#smooth_sliderc_nav{float:left;width:70%;overflow:hidden;padding:0;margin:2px 0 0 0;}
|
22 |
+
a.smooth_sliderc_nav{margin:0 5px 0 0;display:block;float:left;background-repeat:no-repeat;background-position:center;}
|
23 |
+
#smooth_sliderc_nav li{float:left;margin:0 5px 0 0;display:block;background-color:transparent;line-height:14px;}
|
24 |
+
#smooth_sliderc_nav li a{display:block;padding:1px 5px 1px 5px;outline:none;}
|
25 |
+
.sldrbr{line-height:1px;}
|
26 |
+
.sldrlink{display:block;font-size:8px;float:right;font-family:Verdana, Helvetica, sans-serif;}
|
27 |
+
.sldrlink a{color:#333333;}
|
28 |
+
.sldr_clearlt{display:block;visibility:hidden;clear:left;height:0;content:".";}
|
29 |
+
.sldr_clearrt{display:block;visibility:hidden;clear:right;height:0;content:".";}
|
css/styles/sample.css
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "utf-8";
|
2 |
+
/* CSS Document
|
3 |
+
Author:Tejaswini
|
4 |
+
Website:http://www.clickonf5.org
|
5 |
+
IMPORTANT!! Change the name of this file, to avoid losing your changes in future upgrades
|
6 |
+
*/
|
7 |
+
/*This is the CSS always needed for Smooth Slider, you would not need to change it */
|
8 |
+
#smooth_sldr div,#smooth_sldr p,#smooth_sldr li,#smooth_sldr span,#smooth_sldr img,#smooth_sldr h2,#smooth_sldr ul{list-style:none;background:transparent;vertical-align:baseline;}
|
9 |
+
#smooth_sldr div{display:block;}
|
10 |
+
#smooth_sldr span{display:inline;}
|
11 |
+
#smooth_sldr{overflow:hidden;margin: 10px auto;line-height:18px;}
|
12 |
+
#smooth_sldr a{text-decoration:none;}
|
13 |
+
#smooth_sldr_items{width:100%;}
|
14 |
+
#smooth_sldr_body{width:100%;}
|
15 |
+
#smooth_sliderc{position:relative;text-align:justify;}
|
16 |
+
#smooth_sliderc .smooth_sliderb{position:absolute;/*dont change this value*/left:0;top:0;}
|
17 |
+
.smooth_slideri{padding-right:10px;overflow:hidden;line-height:18px;}
|
18 |
+
.sldr_title{margin:0;}
|
19 |
+
#smooth_sldr_body h2{clear:none;display:block;padding:0px;}
|
20 |
+
.slider_item {padding-left:1px;}
|
21 |
+
#smooth_sldr_body p.more a{text-decoration:underline;float:right;}
|
22 |
+
#smooth_sldr_body p.more a:hover{text-decoration:none;}
|
23 |
+
#smooth_sliderc_nav{float:left;width:70%;overflow:hidden;padding:0;margin:2px 0 0 0;}
|
24 |
+
a.smooth_sliderc_nav{margin:0 5px 0 0;display:block;float:left;background-repeat:no-repeat;background-position:center;}
|
25 |
+
#smooth_sliderc_nav li{float:left;margin:0 5px 0 0;display:block;background-color:transparent;line-height:14px;}
|
26 |
+
#smooth_sliderc_nav li a{display:block;padding:1px 5px 1px 5px;outline:none;}
|
27 |
+
.sldrbr{line-height:1px;}
|
28 |
+
.sldrlink{clear:both;display:block;font-size:8px;float:right;margin-top:-8px;font-family:Verdana, Helvetica, sans-serif;}
|
29 |
+
.sldrlink a{color:#333333;}
|
30 |
+
|
31 |
+
/*This is the CSS that needs to be changed to enter custom settings (Similar to settings panel)
|
32 |
+
To create these settings, I would suggest you to make changes to Smooth Slider settings, to get the slider as you wish, then go to the head of the page where the slider is displayed, you would get the below kind of css, you just need to paste it here. Then again you can revert back the Smooth Slider default settings on the settings page. Just a trick :)
|
33 |
+
*/
|
34 |
+
#smooth_sldr{width:495px;height:185px;background-color:#ccc;border:0px solid #999999;} /* Change the width and height of the slider here*/
|
35 |
+
#smooth_sldr_items{padding:10px 18px 0px 26px;}
|
36 |
+
#smooth_sliderc{width:451px;height:145px;} /* You need to alter these values retaining the difference with slider height and width*/
|
37 |
+
.smooth_slideri{width:441px;height:145px;} /* You need to alter these values retaining the difference with slider height and width*/
|
38 |
+
.sldr_title{font-family:Verdana, Arial, Helvetica, sans-serif;font-size:18px;font-weight:normal;font-style:normal;color:#43454c;}
|
39 |
+
#smooth_sldr_body h2{line-height:17px;font-family:Arial, Arial, Helvetica, sans-serif;font-size:14px;font-weight:bold;font-style:normal;color:#81423f;margin:0px 0 5px 0;}#smooth_sldr_body h2 a{color:#81423f;}
|
40 |
+
#smooth_sldr_body span{font-family:Arial, Arial, Helvetica, sans-serif;font-size:12px;font-weight:normal;font-style:normal;color:#333333;}
|
41 |
+
.smooth_slider_thumbnail{float:left;margin:0px 5px 0 0px;max-height:130px;border:0px solid #000000;}
|
42 |
+
#smooth_sldr_body p.more a{color:#81423f;font-family:Arial, Arial, Helvetica, sans-serif;font-size:12px;}
|
43 |
+
#smooth_sliderc_nav li{border:1px solid #333333;font-size:12px;font-family:Arial, Arial, Helvetica, sans-serif;}
|
44 |
+
#smooth_sliderc_nav li a{color:#81423f;}.sldrlink{padding-right:40px;}
|
45 |
+
.sldrlink a{color:#333333;}
|
images/button_next.png
ADDED
Binary file
|
images/button_prev.png
ADDED
Binary file
|
images/elegantthemes.gif
ADDED
Binary file
|
images/hostgator.gif
ADDED
Binary file
|
images/logo.png
ADDED
Binary file
|
images/slidervilla-728.jpg
ADDED
Binary file
|
images/slidervilla-ad1.jpg
ADDED
Binary file
|
images/smooth_slider_logo.png
ADDED
Binary file
|
includes/smooth-slider-functions.php
CHANGED
@@ -217,7 +217,7 @@ add_action( 'wp_ajax_smooth_update_review_me', 'smooth_update_review_me' );
|
|
217 |
function smooth_update_review_me() {
|
218 |
$smooth_slider=array();
|
219 |
$smooth_slider = get_option('smooth_slider_options');
|
220 |
-
$reviewme=(isset($_POST['reviewme']))?($_POST['reviewme']):(strtotime("now"));
|
221 |
if($reviewme>0){
|
222 |
$updated_reviewme=$smooth_slider['reviewme']=strtotime("+1 week", $reviewme);
|
223 |
}
|
217 |
function smooth_update_review_me() {
|
218 |
$smooth_slider=array();
|
219 |
$smooth_slider = get_option('smooth_slider_options');
|
220 |
+
$reviewme=(isset($_POST['reviewme']))?( sanitize_text_field($_POST['reviewme']) ):(strtotime("now"));
|
221 |
if($reviewme>0){
|
222 |
$updated_reviewme=$smooth_slider['reviewme']=strtotime("+1 week", $reviewme);
|
223 |
}
|
js/jcycle.js
ADDED
@@ -0,0 +1,1543 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* jQuery Cycle Plugin (with Transition Definitions)
|
3 |
+
* Examples and documentation at: http://jquery.malsup.com/cycle/
|
4 |
+
* Copyright (c) 2007-2013 M. Alsup
|
5 |
+
* Version: 3.0.3 (11-JUL-2013)
|
6 |
+
* Dual licensed under the MIT and GPL licenses.
|
7 |
+
* http://jquery.malsup.com/license.html
|
8 |
+
* Requires: jQuery v1.7.1 or later
|
9 |
+
*/
|
10 |
+
;(function($, undefined) {
|
11 |
+
"use strict";
|
12 |
+
|
13 |
+
var ver = '3.0.3';
|
14 |
+
|
15 |
+
function debug(s) {
|
16 |
+
if ($.fn.cycle.debug)
|
17 |
+
log(s);
|
18 |
+
}
|
19 |
+
function log() {
|
20 |
+
/*global console */
|
21 |
+
if (window.console && console.log)
|
22 |
+
console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
|
23 |
+
}
|
24 |
+
$.expr[':'].paused = function(el) {
|
25 |
+
return el.cyclePause;
|
26 |
+
};
|
27 |
+
|
28 |
+
|
29 |
+
// the options arg can be...
|
30 |
+
// a number - indicates an immediate transition should occur to the given slide index
|
31 |
+
// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc)
|
32 |
+
// an object - properties to control the slideshow
|
33 |
+
//
|
34 |
+
// the arg2 arg can be...
|
35 |
+
// the name of an fx (only used in conjunction with a numeric value for 'options')
|
36 |
+
// the value true (only used in first arg == 'resume') and indicates
|
37 |
+
// that the resume should occur immediately (not wait for next timeout)
|
38 |
+
|
39 |
+
$.fn.cycle = function(options, arg2) {
|
40 |
+
var o = { s: this.selector, c: this.context };
|
41 |
+
|
42 |
+
// in 1.3+ we can fix mistakes with the ready state
|
43 |
+
if (this.length === 0 && options != 'stop') {
|
44 |
+
if (!$.isReady && o.s) {
|
45 |
+
log('DOM not ready, queuing slideshow');
|
46 |
+
$(function() {
|
47 |
+
$(o.s,o.c).cycle(options,arg2);
|
48 |
+
});
|
49 |
+
return this;
|
50 |
+
}
|
51 |
+
// is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
|
52 |
+
log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
|
53 |
+
return this;
|
54 |
+
}
|
55 |
+
|
56 |
+
// iterate the matched nodeset
|
57 |
+
return this.each(function() {
|
58 |
+
var opts = handleArguments(this, options, arg2);
|
59 |
+
if (opts === false)
|
60 |
+
return;
|
61 |
+
|
62 |
+
opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink;
|
63 |
+
|
64 |
+
// stop existing slideshow for this container (if there is one)
|
65 |
+
if (this.cycleTimeout)
|
66 |
+
clearTimeout(this.cycleTimeout);
|
67 |
+
this.cycleTimeout = this.cyclePause = 0;
|
68 |
+
this.cycleStop = 0; // issue #108
|
69 |
+
|
70 |
+
var $cont = $(this);
|
71 |
+
var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
|
72 |
+
var els = $slides.get();
|
73 |
+
|
74 |
+
if (els.length < 2) {
|
75 |
+
log('terminating; too few slides: ' + els.length);
|
76 |
+
return;
|
77 |
+
}
|
78 |
+
|
79 |
+
var opts2 = buildOptions($cont, $slides, els, opts, o);
|
80 |
+
if (opts2 === false)
|
81 |
+
return;
|
82 |
+
|
83 |
+
var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards);
|
84 |
+
|
85 |
+
// if it's an auto slideshow, kick it off
|
86 |
+
if (startTime) {
|
87 |
+
startTime += (opts2.delay || 0);
|
88 |
+
if (startTime < 10)
|
89 |
+
startTime = 10;
|
90 |
+
debug('first timeout: ' + startTime);
|
91 |
+
this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime);
|
92 |
+
}
|
93 |
+
});
|
94 |
+
};
|
95 |
+
|
96 |
+
function triggerPause(cont, byHover, onPager) {
|
97 |
+
var opts = $(cont).data('cycle.opts');
|
98 |
+
if (!opts)
|
99 |
+
return;
|
100 |
+
var paused = !!cont.cyclePause;
|
101 |
+
if (paused && opts.paused)
|
102 |
+
opts.paused(cont, opts, byHover, onPager);
|
103 |
+
else if (!paused && opts.resumed)
|
104 |
+
opts.resumed(cont, opts, byHover, onPager);
|
105 |
+
}
|
106 |
+
|
107 |
+
// process the args that were passed to the plugin fn
|
108 |
+
function handleArguments(cont, options, arg2) {
|
109 |
+
if (cont.cycleStop === undefined)
|
110 |
+
cont.cycleStop = 0;
|
111 |
+
if (options === undefined || options === null)
|
112 |
+
options = {};
|
113 |
+
if (options.constructor == String) {
|
114 |
+
switch(options) {
|
115 |
+
case 'destroy':
|
116 |
+
case 'stop':
|
117 |
+
var opts = $(cont).data('cycle.opts');
|
118 |
+
if (!opts)
|
119 |
+
return false;
|
120 |
+
cont.cycleStop++; // callbacks look for change
|
121 |
+
if (cont.cycleTimeout)
|
122 |
+
clearTimeout(cont.cycleTimeout);
|
123 |
+
cont.cycleTimeout = 0;
|
124 |
+
if (opts.elements)
|
125 |
+
$(opts.elements).stop();
|
126 |
+
$(cont).removeData('cycle.opts');
|
127 |
+
if (options == 'destroy')
|
128 |
+
destroy(cont, opts);
|
129 |
+
return false;
|
130 |
+
case 'toggle':
|
131 |
+
cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
|
132 |
+
checkInstantResume(cont.cyclePause, arg2, cont);
|
133 |
+
triggerPause(cont);
|
134 |
+
return false;
|
135 |
+
case 'pause':
|
136 |
+
cont.cyclePause = 1;
|
137 |
+
triggerPause(cont);
|
138 |
+
return false;
|
139 |
+
case 'resume':
|
140 |
+
cont.cyclePause = 0;
|
141 |
+
checkInstantResume(false, arg2, cont);
|
142 |
+
triggerPause(cont);
|
143 |
+
return false;
|
144 |
+
case 'prev':
|
145 |
+
case 'next':
|
146 |
+
opts = $(cont).data('cycle.opts');
|
147 |
+
if (!opts) {
|
148 |
+
log('options not found, "prev/next" ignored');
|
149 |
+
return false;
|
150 |
+
}
|
151 |
+
if (typeof arg2 == 'string')
|
152 |
+
opts.oneTimeFx = arg2;
|
153 |
+
$.fn.cycle[options](opts);
|
154 |
+
return false;
|
155 |
+
default:
|
156 |
+
options = { fx: options };
|
157 |
+
}
|
158 |
+
return options;
|
159 |
+
}
|
160 |
+
else if (options.constructor == Number) {
|
161 |
+
// go to the requested slide
|
162 |
+
var num = options;
|
163 |
+
options = $(cont).data('cycle.opts');
|
164 |
+
if (!options) {
|
165 |
+
log('options not found, can not advance slide');
|
166 |
+
return false;
|
167 |
+
}
|
168 |
+
if (num < 0 || num >= options.elements.length) {
|
169 |
+
log('invalid slide index: ' + num);
|
170 |
+
return false;
|
171 |
+
}
|
172 |
+
options.nextSlide = num;
|
173 |
+
if (cont.cycleTimeout) {
|
174 |
+
clearTimeout(cont.cycleTimeout);
|
175 |
+
cont.cycleTimeout = 0;
|
176 |
+
}
|
177 |
+
if (typeof arg2 == 'string')
|
178 |
+
options.oneTimeFx = arg2;
|
179 |
+
go(options.elements, options, 1, num >= options.currSlide);
|
180 |
+
return false;
|
181 |
+
}
|
182 |
+
return options;
|
183 |
+
|
184 |
+
function checkInstantResume(isPaused, arg2, cont) {
|
185 |
+
if (!isPaused && arg2 === true) { // resume now!
|
186 |
+
var options = $(cont).data('cycle.opts');
|
187 |
+
if (!options) {
|
188 |
+
log('options not found, can not resume');
|
189 |
+
return false;
|
190 |
+
}
|
191 |
+
if (cont.cycleTimeout) {
|
192 |
+
clearTimeout(cont.cycleTimeout);
|
193 |
+
cont.cycleTimeout = 0;
|
194 |
+
}
|
195 |
+
go(options.elements, options, 1, !options.backwards);
|
196 |
+
}
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
function removeFilter(el, opts) {
|
201 |
+
if (!$.support.opacity && opts.cleartype && el.style.filter) {
|
202 |
+
try { el.style.removeAttribute('filter'); }
|
203 |
+
catch(smother) {} // handle old opera versions
|
204 |
+
}
|
205 |
+
}
|
206 |
+
|
207 |
+
// unbind event handlers
|
208 |
+
function destroy(cont, opts) {
|
209 |
+
if (opts.next)
|
210 |
+
$(opts.next).unbind(opts.prevNextEvent);
|
211 |
+
if (opts.prev)
|
212 |
+
$(opts.prev).unbind(opts.prevNextEvent);
|
213 |
+
|
214 |
+
if (opts.pager || opts.pagerAnchorBuilder)
|
215 |
+
$.each(opts.pagerAnchors || [], function() {
|
216 |
+
this.unbind().remove();
|
217 |
+
});
|
218 |
+
opts.pagerAnchors = null;
|
219 |
+
$(cont).unbind('mouseenter.cycle mouseleave.cycle');
|
220 |
+
if (opts.destroy) // callback
|
221 |
+
opts.destroy(opts);
|
222 |
+
}
|
223 |
+
|
224 |
+
// one-time initialization
|
225 |
+
function buildOptions($cont, $slides, els, options, o) {
|
226 |
+
var startingSlideSpecified;
|
227 |
+
// support metadata plugin (v1.0 and v2.0)
|
228 |
+
var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
|
229 |
+
var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
|
230 |
+
if (meta)
|
231 |
+
opts = $.extend(opts, meta);
|
232 |
+
if (opts.autostop)
|
233 |
+
opts.countdown = opts.autostopCount || els.length;
|
234 |
+
|
235 |
+
var cont = $cont[0];
|
236 |
+
$cont.data('cycle.opts', opts);
|
237 |
+
opts.$cont = $cont;
|
238 |
+
opts.stopCount = cont.cycleStop;
|
239 |
+
opts.elements = els;
|
240 |
+
opts.before = opts.before ? [opts.before] : [];
|
241 |
+
opts.after = opts.after ? [opts.after] : [];
|
242 |
+
|
243 |
+
// push some after callbacks
|
244 |
+
if (!$.support.opacity && opts.cleartype)
|
245 |
+
opts.after.push(function() { removeFilter(this, opts); });
|
246 |
+
if (opts.continuous)
|
247 |
+
opts.after.push(function() { go(els,opts,0,!opts.backwards); });
|
248 |
+
|
249 |
+
saveOriginalOpts(opts);
|
250 |
+
|
251 |
+
// clearType corrections
|
252 |
+
if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
|
253 |
+
clearTypeFix($slides);
|
254 |
+
|
255 |
+
// container requires non-static position so that slides can be position within
|
256 |
+
if ($cont.css('position') == 'static')
|
257 |
+
$cont.css('position', 'relative');
|
258 |
+
if (opts.width)
|
259 |
+
$cont.width(opts.width);
|
260 |
+
if (opts.height && opts.height != 'auto')
|
261 |
+
$cont.height(opts.height);
|
262 |
+
|
263 |
+
if (opts.startingSlide !== undefined) {
|
264 |
+
opts.startingSlide = parseInt(opts.startingSlide,10);
|
265 |
+
if (opts.startingSlide >= els.length || opts.startSlide < 0)
|
266 |
+
opts.startingSlide = 0; // catch bogus input
|
267 |
+
else
|
268 |
+
startingSlideSpecified = true;
|
269 |
+
}
|
270 |
+
else if (opts.backwards)
|
271 |
+
opts.startingSlide = els.length - 1;
|
272 |
+
else
|
273 |
+
opts.startingSlide = 0;
|
274 |
+
|
275 |
+
// if random, mix up the slide array
|
276 |
+
if (opts.random) {
|
277 |
+
opts.randomMap = [];
|
278 |
+
for (var i = 0; i < els.length; i++)
|
279 |
+
opts.randomMap.push(i);
|
280 |
+
opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
|
281 |
+
if (startingSlideSpecified) {
|
282 |
+
// try to find the specified starting slide and if found set start slide index in the map accordingly
|
283 |
+
for ( var cnt = 0; cnt < els.length; cnt++ ) {
|
284 |
+
if ( opts.startingSlide == opts.randomMap[cnt] ) {
|
285 |
+
opts.randomIndex = cnt;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
}
|
289 |
+
else {
|
290 |
+
opts.randomIndex = 1;
|
291 |
+
opts.startingSlide = opts.randomMap[1];
|
292 |
+
}
|
293 |
+
}
|
294 |
+
else if (opts.startingSlide >= els.length)
|
295 |
+
opts.startingSlide = 0; // catch bogus input
|
296 |
+
opts.currSlide = opts.startingSlide || 0;
|
297 |
+
var first = opts.startingSlide;
|
298 |
+
|
299 |
+
// set position and zIndex on all the slides
|
300 |
+
$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
|
301 |
+
var z;
|
302 |
+
if (opts.backwards)
|
303 |
+
z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
|
304 |
+
else
|
305 |
+
z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
|
306 |
+
$(this).css('z-index', z);
|
307 |
+
});
|
308 |
+
|
309 |
+
// make sure first slide is visible
|
310 |
+
$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
|
311 |
+
removeFilter(els[first], opts);
|
312 |
+
|
313 |
+
// stretch slides
|
314 |
+
if (opts.fit) {
|
315 |
+
if (!opts.aspect) {
|
316 |
+
if (opts.width)
|
317 |
+
$slides.width(opts.width);
|
318 |
+
if (opts.height && opts.height != 'auto')
|
319 |
+
$slides.height(opts.height);
|
320 |
+
} else {
|
321 |
+
$slides.each(function(){
|
322 |
+
var $slide = $(this);
|
323 |
+
var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect;
|
324 |
+
if( opts.width && $slide.width() != opts.width ) {
|
325 |
+
$slide.width( opts.width );
|
326 |
+
$slide.height( opts.width / ratio );
|
327 |
+
}
|
328 |
+
|
329 |
+
if( opts.height && $slide.height() < opts.height ) {
|
330 |
+
$slide.height( opts.height );
|
331 |
+
$slide.width( opts.height * ratio );
|
332 |
+
}
|
333 |
+
});
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
if (opts.center && ((!opts.fit) || opts.aspect)) {
|
338 |
+
$slides.each(function(){
|
339 |
+
var $slide = $(this);
|
340 |
+
$slide.css({
|
341 |
+
"margin-left": opts.width ?
|
342 |
+
((opts.width - $slide.width()) / 2) + "px" :
|
343 |
+
0,
|
344 |
+
"margin-top": opts.height ?
|
345 |
+
((opts.height - $slide.height()) / 2) + "px" :
|
346 |
+
0
|
347 |
+
});
|
348 |
+
});
|
349 |
+
}
|
350 |
+
|
351 |
+
if (opts.center && !opts.fit && !opts.slideResize) {
|
352 |
+
$slides.each(function(){
|
353 |
+
var $slide = $(this);
|
354 |
+
$slide.css({
|
355 |
+
"margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0,
|
356 |
+
"margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0
|
357 |
+
});
|
358 |
+
});
|
359 |
+
}
|
360 |
+
|
361 |
+
// stretch container
|
362 |
+
var reshape = (opts.containerResize || opts.containerResizeHeight) && $cont.innerHeight() < 1;
|
363 |
+
if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
|
364 |
+
var maxw = 0, maxh = 0;
|
365 |
+
for(var j=0; j < els.length; j++) {
|
366 |
+
var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
|
367 |
+
if (!w) w = e.offsetWidth || e.width || $e.attr('width');
|
368 |
+
if (!h) h = e.offsetHeight || e.height || $e.attr('height');
|
369 |
+
maxw = w > maxw ? w : maxw;
|
370 |
+
maxh = h > maxh ? h : maxh;
|
371 |
+
}
|
372 |
+
if (opts.containerResize && maxw > 0 && maxh > 0)
|
373 |
+
$cont.css({width:maxw+'px',height:maxh+'px'});
|
374 |
+
if (opts.containerResizeHeight && maxh > 0)
|
375 |
+
$cont.css({height:maxh+'px'});
|
376 |
+
}
|
377 |
+
|
378 |
+
var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
|
379 |
+
if (opts.pause)
|
380 |
+
$cont.bind('mouseenter.cycle', function(){
|
381 |
+
pauseFlag = true;
|
382 |
+
this.cyclePause++;
|
383 |
+
triggerPause(cont, true);
|
384 |
+
}).bind('mouseleave.cycle', function(){
|
385 |
+
if (pauseFlag)
|
386 |
+
this.cyclePause--;
|
387 |
+
triggerPause(cont, true);
|
388 |
+
});
|
389 |
+
|
390 |
+
if (supportMultiTransitions(opts) === false)
|
391 |
+
return false;
|
392 |
+
|
393 |
+
// apparently a lot of people use image slideshows without height/width attributes on the images.
|
394 |
+
// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
|
395 |
+
var requeue = false;
|
396 |
+
options.requeueAttempts = options.requeueAttempts || 0;
|
397 |
+
$slides.each(function() {
|
398 |
+
// try to get height/width of each slide
|
399 |
+
var $el = $(this);
|
400 |
+
this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
|
401 |
+
this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
|
402 |
+
|
403 |
+
if ( $el.is('img') ) {
|
404 |
+
var loading = (this.cycleH === 0 && this.cycleW === 0 && !this.complete);
|
405 |
+
// don't requeue for images that are still loading but have a valid size
|
406 |
+
if (loading) {
|
407 |
+
if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
|
408 |
+
log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
|
409 |
+
setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout);
|
410 |
+
requeue = true;
|
411 |
+
return false; // break each loop
|
412 |
+
}
|
413 |
+
else {
|
414 |
+
log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
|
415 |
+
}
|
416 |
+
}
|
417 |
+
}
|
418 |
+
return true;
|
419 |
+
});
|
420 |
+
|
421 |
+
if (requeue)
|
422 |
+
return false;
|
423 |
+
|
424 |
+
opts.cssBefore = opts.cssBefore || {};
|
425 |
+
opts.cssAfter = opts.cssAfter || {};
|
426 |
+
opts.cssFirst = opts.cssFirst || {};
|
427 |
+
opts.animIn = opts.animIn || {};
|
428 |
+
opts.animOut = opts.animOut || {};
|
429 |
+
|
430 |
+
$slides.not(':eq('+first+')').css(opts.cssBefore);
|
431 |
+
$($slides[first]).css(opts.cssFirst);
|
432 |
+
|
433 |
+
if (opts.timeout) {
|
434 |
+
opts.timeout = parseInt(opts.timeout,10);
|
435 |
+
// ensure that timeout and speed settings are sane
|
436 |
+
if (opts.speed.constructor == String)
|
437 |
+
opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10);
|
438 |
+
if (!opts.sync)
|
439 |
+
opts.speed = opts.speed / 2;
|
440 |
+
|
441 |
+
var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
|
442 |
+
while((opts.timeout - opts.speed) < buffer) // sanitize timeout
|
443 |
+
opts.timeout += opts.speed;
|
444 |
+
}
|
445 |
+
if (opts.easing)
|
446 |
+
opts.easeIn = opts.easeOut = opts.easing;
|
447 |
+
if (!opts.speedIn)
|
448 |
+
opts.speedIn = opts.speed;
|
449 |
+
if (!opts.speedOut)
|
450 |
+
opts.speedOut = opts.speed;
|
451 |
+
|
452 |
+
opts.slideCount = els.length;
|
453 |
+
opts.currSlide = opts.lastSlide = first;
|
454 |
+
if (opts.random) {
|
455 |
+
if (++opts.randomIndex == els.length)
|
456 |
+
opts.randomIndex = 0;
|
457 |
+
opts.nextSlide = opts.randomMap[opts.randomIndex];
|
458 |
+
}
|
459 |
+
else if (opts.backwards)
|
460 |
+
opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1;
|
461 |
+
else
|
462 |
+
opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
|
463 |
+
|
464 |
+
// run transition init fn
|
465 |
+
if (!opts.multiFx) {
|
466 |
+
var init = $.fn.cycle.transitions[opts.fx];
|
467 |
+
if ($.isFunction(init))
|
468 |
+
init($cont, $slides, opts);
|
469 |
+
else if (opts.fx != 'custom' && !opts.multiFx) {
|
470 |
+
log('unknown transition: ' + opts.fx,'; slideshow terminating');
|
471 |
+
return false;
|
472 |
+
}
|
473 |
+
}
|
474 |
+
|
475 |
+
// fire artificial events
|
476 |
+
var e0 = $slides[first];
|
477 |
+
if (!opts.skipInitializationCallbacks) {
|
478 |
+
if (opts.before.length)
|
479 |
+
opts.before[0].apply(e0, [e0, e0, opts, true]);
|
480 |
+
if (opts.after.length)
|
481 |
+
opts.after[0].apply(e0, [e0, e0, opts, true]);
|
482 |
+
}
|
483 |
+
if (opts.next)
|
484 |
+
$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);});
|
485 |
+
if (opts.prev)
|
486 |
+
$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);});
|
487 |
+
if (opts.pager || opts.pagerAnchorBuilder)
|
488 |
+
buildPager(els,opts);
|
489 |
+
|
490 |
+
exposeAddSlide(opts, els);
|
491 |
+
|
492 |
+
return opts;
|
493 |
+
}
|
494 |
+
|
495 |
+
// save off original opts so we can restore after clearing state
|
496 |
+
function saveOriginalOpts(opts) {
|
497 |
+
opts.original = { before: [], after: [] };
|
498 |
+
opts.original.cssBefore = $.extend({}, opts.cssBefore);
|
499 |
+
opts.original.cssAfter = $.extend({}, opts.cssAfter);
|
500 |
+
opts.original.animIn = $.extend({}, opts.animIn);
|
501 |
+
opts.original.animOut = $.extend({}, opts.animOut);
|
502 |
+
$.each(opts.before, function() { opts.original.before.push(this); });
|
503 |
+
$.each(opts.after, function() { opts.original.after.push(this); });
|
504 |
+
}
|
505 |
+
|
506 |
+
function supportMultiTransitions(opts) {
|
507 |
+
var i, tx, txs = $.fn.cycle.transitions;
|
508 |
+
// look for multiple effects
|
509 |
+
if (opts.fx.indexOf(',') > 0) {
|
510 |
+
opts.multiFx = true;
|
511 |
+
opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
|
512 |
+
// discard any bogus effect names
|
513 |
+
for (i=0; i < opts.fxs.length; i++) {
|
514 |
+
var fx = opts.fxs[i];
|
515 |
+
tx = txs[fx];
|
516 |
+
if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
|
517 |
+
log('discarding unknown transition: ',fx);
|
518 |
+
opts.fxs.splice(i,1);
|
519 |
+
i--;
|
520 |
+
}
|
521 |
+
}
|
522 |
+
// if we have an empty list then we threw everything away!
|
523 |
+
if (!opts.fxs.length) {
|
524 |
+
log('No valid transitions named; slideshow terminating.');
|
525 |
+
return false;
|
526 |
+
}
|
527 |
+
}
|
528 |
+
else if (opts.fx == 'all') { // auto-gen the list of transitions
|
529 |
+
opts.multiFx = true;
|
530 |
+
opts.fxs = [];
|
531 |
+
for (var p in txs) {
|
532 |
+
if (txs.hasOwnProperty(p)) {
|
533 |
+
tx = txs[p];
|
534 |
+
if (txs.hasOwnProperty(p) && $.isFunction(tx))
|
535 |
+
opts.fxs.push(p);
|
536 |
+
}
|
537 |
+
}
|
538 |
+
}
|
539 |
+
if (opts.multiFx && opts.randomizeEffects) {
|
540 |
+
// munge the fxs array to make effect selection random
|
541 |
+
var r1 = Math.floor(Math.random() * 20) + 30;
|
542 |
+
for (i = 0; i < r1; i++) {
|
543 |
+
var r2 = Math.floor(Math.random() * opts.fxs.length);
|
544 |
+
opts.fxs.push(opts.fxs.splice(r2,1)[0]);
|
545 |
+
}
|
546 |
+
debug('randomized fx sequence: ',opts.fxs);
|
547 |
+
}
|
548 |
+
return true;
|
549 |
+
}
|
550 |
+
|
551 |
+
// provide a mechanism for adding slides after the slideshow has started
|
552 |
+
function exposeAddSlide(opts, els) {
|
553 |
+
opts.addSlide = function(newSlide, prepend) {
|
554 |
+
var $s = $(newSlide), s = $s[0];
|
555 |
+
if (!opts.autostopCount)
|
556 |
+
opts.countdown++;
|
557 |
+
els[prepend?'unshift':'push'](s);
|
558 |
+
if (opts.els)
|
559 |
+
opts.els[prepend?'unshift':'push'](s); // shuffle needs this
|
560 |
+
opts.slideCount = els.length;
|
561 |
+
|
562 |
+
// add the slide to the random map and resort
|
563 |
+
if (opts.random) {
|
564 |
+
opts.randomMap.push(opts.slideCount-1);
|
565 |
+
opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
|
566 |
+
}
|
567 |
+
|
568 |
+
$s.css('position','absolute');
|
569 |
+
$s[prepend?'prependTo':'appendTo'](opts.$cont);
|
570 |
+
|
571 |
+
if (prepend) {
|
572 |
+
opts.currSlide++;
|
573 |
+
opts.nextSlide++;
|
574 |
+
}
|
575 |
+
|
576 |
+
if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
|
577 |
+
clearTypeFix($s);
|
578 |
+
|
579 |
+
if (opts.fit && opts.width)
|
580 |
+
$s.width(opts.width);
|
581 |
+
if (opts.fit && opts.height && opts.height != 'auto')
|
582 |
+
$s.height(opts.height);
|
583 |
+
s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
|
584 |
+
s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
|
585 |
+
|
586 |
+
$s.css(opts.cssBefore);
|
587 |
+
|
588 |
+
if (opts.pager || opts.pagerAnchorBuilder)
|
589 |
+
$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
|
590 |
+
|
591 |
+
if ($.isFunction(opts.onAddSlide))
|
592 |
+
opts.onAddSlide($s);
|
593 |
+
else
|
594 |
+
$s.hide(); // default behavior
|
595 |
+
};
|
596 |
+
}
|
597 |
+
|
598 |
+
// reset internal state; we do this on every pass in order to support multiple effects
|
599 |
+
$.fn.cycle.resetState = function(opts, fx) {
|
600 |
+
fx = fx || opts.fx;
|
601 |
+
opts.before = []; opts.after = [];
|
602 |
+
opts.cssBefore = $.extend({}, opts.original.cssBefore);
|
603 |
+
opts.cssAfter = $.extend({}, opts.original.cssAfter);
|
604 |
+
opts.animIn = $.extend({}, opts.original.animIn);
|
605 |
+
opts.animOut = $.extend({}, opts.original.animOut);
|
606 |
+
opts.fxFn = null;
|
607 |
+
$.each(opts.original.before, function() { opts.before.push(this); });
|
608 |
+
$.each(opts.original.after, function() { opts.after.push(this); });
|
609 |
+
|
610 |
+
// re-init
|
611 |
+
var init = $.fn.cycle.transitions[fx];
|
612 |
+
if ($.isFunction(init))
|
613 |
+
init(opts.$cont, $(opts.elements), opts);
|
614 |
+
};
|
615 |
+
|
616 |
+
// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
|
617 |
+
function go(els, opts, manual, fwd) {
|
618 |
+
var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
|
619 |
+
|
620 |
+
// opts.busy is true if we're in the middle of an animation
|
621 |
+
if (manual && opts.busy && opts.manualTrump) {
|
622 |
+
// let manual transitions requests trump active ones
|
623 |
+
debug('manualTrump in go(), stopping active transition');
|
624 |
+
$(els).stop(true,true);
|
625 |
+
opts.busy = 0;
|
626 |
+
clearTimeout(p.cycleTimeout);
|
627 |
+
}
|
628 |
+
|
629 |
+
// don't begin another timeout-based transition if there is one active
|
630 |
+
if (opts.busy) {
|
631 |
+
debug('transition active, ignoring new tx request');
|
632 |
+
return;
|
633 |
+
}
|
634 |
+
|
635 |
+
|
636 |
+
// stop cycling if we have an outstanding stop request
|
637 |
+
if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
|
638 |
+
return;
|
639 |
+
|
640 |
+
// check to see if we should stop cycling based on autostop options
|
641 |
+
if (!manual && !p.cyclePause && !opts.bounce &&
|
642 |
+
((opts.autostop && (--opts.countdown <= 0)) ||
|
643 |
+
(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
|
644 |
+
if (opts.end)
|
645 |
+
opts.end(opts);
|
646 |
+
return;
|
647 |
+
}
|
648 |
+
|
649 |
+
// if slideshow is paused, only transition on a manual trigger
|
650 |
+
var changed = false;
|
651 |
+
if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
|
652 |
+
changed = true;
|
653 |
+
var fx = opts.fx;
|
654 |
+
// keep trying to get the slide size if we don't have it yet
|
655 |
+
curr.cycleH = curr.cycleH || $(curr).height();
|
656 |
+
curr.cycleW = curr.cycleW || $(curr).width();
|
657 |
+
next.cycleH = next.cycleH || $(next).height();
|
658 |
+
next.cycleW = next.cycleW || $(next).width();
|
659 |
+
|
660 |
+
// support multiple transition types
|
661 |
+
if (opts.multiFx) {
|
662 |
+
if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length))
|
663 |
+
opts.lastFx = 0;
|
664 |
+
else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0))
|
665 |
+
opts.lastFx = opts.fxs.length - 1;
|
666 |
+
fx = opts.fxs[opts.lastFx];
|
667 |
+
}
|
668 |
+
|
669 |
+
// one-time fx overrides apply to: $('div').cycle(3,'zoom');
|
670 |
+
if (opts.oneTimeFx) {
|
671 |
+
fx = opts.oneTimeFx;
|
672 |
+
opts.oneTimeFx = null;
|
673 |
+
}
|
674 |
+
|
675 |
+
$.fn.cycle.resetState(opts, fx);
|
676 |
+
|
677 |
+
// run the before callbacks
|
678 |
+
if (opts.before.length)
|
679 |
+
$.each(opts.before, function(i,o) {
|
680 |
+
if (p.cycleStop != opts.stopCount) return;
|
681 |
+
o.apply(next, [curr, next, opts, fwd]);
|
682 |
+
});
|
683 |
+
|
684 |
+
// stage the after callacks
|
685 |
+
var after = function() {
|
686 |
+
opts.busy = 0;
|
687 |
+
$.each(opts.after, function(i,o) {
|
688 |
+
if (p.cycleStop != opts.stopCount) return;
|
689 |
+
o.apply(next, [curr, next, opts, fwd]);
|
690 |
+
});
|
691 |
+
if (!p.cycleStop) {
|
692 |
+
// queue next transition
|
693 |
+
queueNext();
|
694 |
+
}
|
695 |
+
};
|
696 |
+
|
697 |
+
debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
|
698 |
+
|
699 |
+
// get ready to perform the transition
|
700 |
+
opts.busy = 1;
|
701 |
+
if (opts.fxFn) // fx function provided?
|
702 |
+
opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
|
703 |
+
else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
|
704 |
+
$.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
|
705 |
+
else
|
706 |
+
$.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
|
707 |
+
}
|
708 |
+
else {
|
709 |
+
queueNext();
|
710 |
+
}
|
711 |
+
|
712 |
+
if (changed || opts.nextSlide == opts.currSlide) {
|
713 |
+
// calculate the next slide
|
714 |
+
var roll;
|
715 |
+
opts.lastSlide = opts.currSlide;
|
716 |
+
if (opts.random) {
|
717 |
+
opts.currSlide = opts.nextSlide;
|
718 |
+
if (++opts.randomIndex == els.length) {
|
719 |
+
opts.randomIndex = 0;
|
720 |
+
opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
|
721 |
+
}
|
722 |
+
opts.nextSlide = opts.randomMap[opts.randomIndex];
|
723 |
+
if (opts.nextSlide == opts.currSlide)
|
724 |
+
opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
|
725 |
+
}
|
726 |
+
else if (opts.backwards) {
|
727 |
+
roll = (opts.nextSlide - 1) < 0;
|
728 |
+
if (roll && opts.bounce) {
|
729 |
+
opts.backwards = !opts.backwards;
|
730 |
+
opts.nextSlide = 1;
|
731 |
+
opts.currSlide = 0;
|
732 |
+
}
|
733 |
+
else {
|
734 |
+
opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
|
735 |
+
opts.currSlide = roll ? 0 : opts.nextSlide+1;
|
736 |
+
}
|
737 |
+
}
|
738 |
+
else { // sequence
|
739 |
+
roll = (opts.nextSlide + 1) == els.length;
|
740 |
+
if (roll && opts.bounce) {
|
741 |
+
opts.backwards = !opts.backwards;
|
742 |
+
opts.nextSlide = els.length-2;
|
743 |
+
opts.currSlide = els.length-1;
|
744 |
+
}
|
745 |
+
else {
|
746 |
+
opts.nextSlide = roll ? 0 : opts.nextSlide+1;
|
747 |
+
opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
|
748 |
+
}
|
749 |
+
}
|
750 |
+
}
|
751 |
+
if (changed && opts.pager)
|
752 |
+
opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
|
753 |
+
|
754 |
+
function queueNext() {
|
755 |
+
// stage the next transition
|
756 |
+
var ms = 0, timeout = opts.timeout;
|
757 |
+
if (opts.timeout && !opts.continuous) {
|
758 |
+
ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
|
759 |
+
if (opts.fx == 'shuffle')
|
760 |
+
ms -= opts.speedOut;
|
761 |
+
}
|
762 |
+
else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
|
763 |
+
ms = 10;
|
764 |
+
if (ms > 0)
|
765 |
+
p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms);
|
766 |
+
}
|
767 |
+
}
|
768 |
+
|
769 |
+
// invoked after transition
|
770 |
+
$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
|
771 |
+
$(pager).each(function() {
|
772 |
+
$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
|
773 |
+
});
|
774 |
+
};
|
775 |
+
|
776 |
+
// calculate timeout value for current transition
|
777 |
+
function getTimeout(curr, next, opts, fwd) {
|
778 |
+
if (opts.timeoutFn) {
|
779 |
+
// call user provided calc fn
|
780 |
+
var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
|
781 |
+
while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout
|
782 |
+
t += opts.speed;
|
783 |
+
debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
|
784 |
+
if (t !== false)
|
785 |
+
return t;
|
786 |
+
}
|
787 |
+
return opts.timeout;
|
788 |
+
}
|
789 |
+
|
790 |
+
// expose next/prev function, caller must pass in state
|
791 |
+
$.fn.cycle.next = function(opts) { advance(opts,1); };
|
792 |
+
$.fn.cycle.prev = function(opts) { advance(opts,0);};
|
793 |
+
|
794 |
+
// advance slide forward or back
|
795 |
+
function advance(opts, moveForward) {
|
796 |
+
var val = moveForward ? 1 : -1;
|
797 |
+
var els = opts.elements;
|
798 |
+
var p = opts.$cont[0], timeout = p.cycleTimeout;
|
799 |
+
if (timeout) {
|
800 |
+
clearTimeout(timeout);
|
801 |
+
p.cycleTimeout = 0;
|
802 |
+
}
|
803 |
+
if (opts.random && val < 0) {
|
804 |
+
// move back to the previously display slide
|
805 |
+
opts.randomIndex--;
|
806 |
+
if (--opts.randomIndex == -2)
|
807 |
+
opts.randomIndex = els.length-2;
|
808 |
+
else if (opts.randomIndex == -1)
|
809 |
+
opts.randomIndex = els.length-1;
|
810 |
+
opts.nextSlide = opts.randomMap[opts.randomIndex];
|
811 |
+
}
|
812 |
+
else if (opts.random) {
|
813 |
+
opts.nextSlide = opts.randomMap[opts.randomIndex];
|
814 |
+
}
|
815 |
+
else {
|
816 |
+
opts.nextSlide = opts.currSlide + val;
|
817 |
+
if (opts.nextSlide < 0) {
|
818 |
+
if (opts.nowrap) return false;
|
819 |
+
opts.nextSlide = els.length - 1;
|
820 |
+
}
|
821 |
+
else if (opts.nextSlide >= els.length) {
|
822 |
+
if (opts.nowrap) return false;
|
823 |
+
opts.nextSlide = 0;
|
824 |
+
}
|
825 |
+
}
|
826 |
+
|
827 |
+
var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
|
828 |
+
if ($.isFunction(cb))
|
829 |
+
cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
|
830 |
+
go(els, opts, 1, moveForward);
|
831 |
+
return false;
|
832 |
+
}
|
833 |
+
|
834 |
+
function buildPager(els, opts) {
|
835 |
+
var $p = $(opts.pager);
|
836 |
+
$.each(els, function(i,o) {
|
837 |
+
$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
|
838 |
+
});
|
839 |
+
opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
|
840 |
+
}
|
841 |
+
|
842 |
+
$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
|
843 |
+
var a;
|
844 |
+
if ($.isFunction(opts.pagerAnchorBuilder)) {
|
845 |
+
a = opts.pagerAnchorBuilder(i,el);
|
846 |
+
debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
|
847 |
+
}
|
848 |
+
else
|
849 |
+
a = '<a href="#">'+(i+1)+'</a>';
|
850 |
+
|
851 |
+
if (!a)
|
852 |
+
return;
|
853 |
+
var $a = $(a);
|
854 |
+
// don't reparent if anchor is in the dom
|
855 |
+
if ($a.parents('body').length === 0) {
|
856 |
+
var arr = [];
|
857 |
+
if ($p.length > 1) {
|
858 |
+
$p.each(function() {
|
859 |
+
var $clone = $a.clone(true);
|
860 |
+
$(this).append($clone);
|
861 |
+
arr.push($clone[0]);
|
862 |
+
});
|
863 |
+
$a = $(arr);
|
864 |
+
}
|
865 |
+
else {
|
866 |
+
$a.appendTo($p);
|
867 |
+
}
|
868 |
+
}
|
869 |
+
|
870 |
+
opts.pagerAnchors = opts.pagerAnchors || [];
|
871 |
+
opts.pagerAnchors.push($a);
|
872 |
+
|
873 |
+
var pagerFn = function(e) {
|
874 |
+
e.preventDefault();
|
875 |
+
opts.nextSlide = i;
|
876 |
+
var p = opts.$cont[0], timeout = p.cycleTimeout;
|
877 |
+
if (timeout) {
|
878 |
+
clearTimeout(timeout);
|
879 |
+
p.cycleTimeout = 0;
|
880 |
+
}
|
881 |
+
var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
|
882 |
+
if ($.isFunction(cb))
|
883 |
+
cb(opts.nextSlide, els[opts.nextSlide]);
|
884 |
+
go(els,opts,1,opts.currSlide < i); // trigger the trans
|
885 |
+
// return false; // <== allow bubble
|
886 |
+
};
|
887 |
+
|
888 |
+
if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) {
|
889 |
+
$a.hover(pagerFn, function(){/* no-op */} );
|
890 |
+
}
|
891 |
+
else {
|
892 |
+
$a.bind(opts.pagerEvent, pagerFn);
|
893 |
+
}
|
894 |
+
|
895 |
+
if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
|
896 |
+
$a.bind('click.cycle', function(){return false;}); // suppress click
|
897 |
+
|
898 |
+
var cont = opts.$cont[0];
|
899 |
+
var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
|
900 |
+
if (opts.pauseOnPagerHover) {
|
901 |
+
$a.hover(
|
902 |
+
function() {
|
903 |
+
pauseFlag = true;
|
904 |
+
cont.cyclePause++;
|
905 |
+
triggerPause(cont,true,true);
|
906 |
+
}, function() {
|
907 |
+
if (pauseFlag)
|
908 |
+
cont.cyclePause--;
|
909 |
+
triggerPause(cont,true,true);
|
910 |
+
}
|
911 |
+
);
|
912 |
+
}
|
913 |
+
};
|
914 |
+
|
915 |
+
// helper fn to calculate the number of slides between the current and the next
|
916 |
+
$.fn.cycle.hopsFromLast = function(opts, fwd) {
|
917 |
+
var hops, l = opts.lastSlide, c = opts.currSlide;
|
918 |
+
if (fwd)
|
919 |
+
hops = c > l ? c - l : opts.slideCount - l;
|
920 |
+
else
|
921 |
+
hops = c < l ? l - c : l + opts.slideCount - c;
|
922 |
+
return hops;
|
923 |
+
};
|
924 |
+
|
925 |
+
// fix clearType problems in ie6 by setting an explicit bg color
|
926 |
+
// (otherwise text slides look horrible during a fade transition)
|
927 |
+
function clearTypeFix($slides) {
|
928 |
+
debug('applying clearType background-color hack');
|
929 |
+
function hex(s) {
|
930 |
+
s = parseInt(s,10).toString(16);
|
931 |
+
return s.length < 2 ? '0'+s : s;
|
932 |
+
}
|
933 |
+
function getBg(e) {
|
934 |
+
for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
|
935 |
+
var v = $.css(e,'background-color');
|
936 |
+
if (v && v.indexOf('rgb') >= 0 ) {
|
937 |
+
var rgb = v.match(/\d+/g);
|
938 |
+
return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
|
939 |
+
}
|
940 |
+
if (v && v != 'transparent')
|
941 |
+
return v;
|
942 |
+
}
|
943 |
+
return '#ffffff';
|
944 |
+
}
|
945 |
+
$slides.each(function() { $(this).css('background-color', getBg(this)); });
|
946 |
+
}
|
947 |
+
|
948 |
+
// reset common props before the next transition
|
949 |
+
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
|
950 |
+
$(opts.elements).not(curr).hide();
|
951 |
+
if (typeof opts.cssBefore.opacity == 'undefined')
|
952 |
+
opts.cssBefore.opacity = 1;
|
953 |
+
opts.cssBefore.display = 'block';
|
954 |
+
if (opts.slideResize && w !== false && next.cycleW > 0)
|
955 |
+
opts.cssBefore.width = next.cycleW;
|
956 |
+
if (opts.slideResize && h !== false && next.cycleH > 0)
|
957 |
+
opts.cssBefore.height = next.cycleH;
|
958 |
+
opts.cssAfter = opts.cssAfter || {};
|
959 |
+
opts.cssAfter.display = 'none';
|
960 |
+
$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
|
961 |
+
$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
|
962 |
+
};
|
963 |
+
|
964 |
+
// the actual fn for effecting a transition
|
965 |
+
$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
|
966 |
+
var $l = $(curr), $n = $(next);
|
967 |
+
var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut, animInDelay = opts.animInDelay, animOutDelay = opts.animOutDelay;
|
968 |
+
$n.css(opts.cssBefore);
|
969 |
+
if (speedOverride) {
|
970 |
+
if (typeof speedOverride == 'number')
|
971 |
+
speedIn = speedOut = speedOverride;
|
972 |
+
else
|
973 |
+
speedIn = speedOut = 1;
|
974 |
+
easeIn = easeOut = null;
|
975 |
+
}
|
976 |
+
var fn = function() {
|
977 |
+
$n.delay(animInDelay).animate(opts.animIn, speedIn, easeIn, function() {
|
978 |
+
cb();
|
979 |
+
});
|
980 |
+
};
|
981 |
+
$l.delay(animOutDelay).animate(opts.animOut, speedOut, easeOut, function() {
|
982 |
+
$l.css(opts.cssAfter);
|
983 |
+
if (!opts.sync)
|
984 |
+
fn();
|
985 |
+
});
|
986 |
+
if (opts.sync) fn();
|
987 |
+
};
|
988 |
+
|
989 |
+
// transition definitions - only fade is defined here, transition pack defines the rest
|
990 |
+
$.fn.cycle.transitions = {
|
991 |
+
fade: function($cont, $slides, opts) {
|
992 |
+
$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
|
993 |
+
opts.before.push(function(curr,next,opts) {
|
994 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
995 |
+
opts.cssBefore.opacity = 0;
|
996 |
+
});
|
997 |
+
opts.animIn = { opacity: 1 };
|
998 |
+
opts.animOut = { opacity: 0 };
|
999 |
+
opts.cssBefore = { top: 0, left: 0 };
|
1000 |
+
}
|
1001 |
+
};
|
1002 |
+
|
1003 |
+
$.fn.cycle.ver = function() { return ver; };
|
1004 |
+
|
1005 |
+
// override these globally if you like (they are all optional)
|
1006 |
+
$.fn.cycle.defaults = {
|
1007 |
+
activePagerClass: 'activeSlide', // class name used for the active pager link
|
1008 |
+
after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
|
1009 |
+
allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
|
1010 |
+
animIn: null, // properties that define how the slide animates in
|
1011 |
+
animInDelay: 0, // allows delay before next slide transitions in
|
1012 |
+
animOut: null, // properties that define how the slide animates out
|
1013 |
+
animOutDelay: 0, // allows delay before current slide transitions out
|
1014 |
+
aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option)
|
1015 |
+
autostop: 0, // true to end slideshow after X transitions (where X == slide count)
|
1016 |
+
autostopCount: 0, // number of transitions (optionally used with autostop to define X)
|
1017 |
+
backwards: false, // true to start slideshow at last slide and move backwards through the stack
|
1018 |
+
before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
|
1019 |
+
center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options)
|
1020 |
+
cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE)
|
1021 |
+
cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
|
1022 |
+
containerResize: 1, // resize container to fit largest slide
|
1023 |
+
containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic
|
1024 |
+
continuous: 0, // true to start next transition immediately after current one completes
|
1025 |
+
cssAfter: null, // properties that defined the state of the slide after transitioning out
|
1026 |
+
cssBefore: null, // properties that define the initial state of the slide before transitioning in
|
1027 |
+
delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
|
1028 |
+
easeIn: null, // easing for "in" transition
|
1029 |
+
easeOut: null, // easing for "out" transition
|
1030 |
+
easing: null, // easing method for both in and out transitions
|
1031 |
+
end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
|
1032 |
+
fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
|
1033 |
+
fit: 0, // force slides to fit container
|
1034 |
+
fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
|
1035 |
+
fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
|
1036 |
+
height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well)
|
1037 |
+
manualTrump: true, // causes manual transition to stop an active transition instead of being ignored
|
1038 |
+
metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow
|
1039 |
+
next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
|
1040 |
+
nowrap: 0, // true to prevent slideshow from wrapping
|
1041 |
+
onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
|
1042 |
+
onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
|
1043 |
+
pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container
|
1044 |
+
pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement)
|
1045 |
+
pagerEvent: 'click.cycle', // name of event which drives the pager navigation
|
1046 |
+
pause: 0, // true to enable "pause on hover"
|
1047 |
+
pauseOnPagerHover: 0, // true to pause when hovering over pager link
|
1048 |
+
prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide
|
1049 |
+
prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide
|
1050 |
+
random: 0, // true for random, false for sequence (not applicable to shuffle fx)
|
1051 |
+
randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random
|
1052 |
+
requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
|
1053 |
+
requeueTimeout: 250, // ms delay for requeue
|
1054 |
+
rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle)
|
1055 |
+
shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
|
1056 |
+
skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition
|
1057 |
+
slideExpr: null, // expression for selecting slides (if something other than all children is required)
|
1058 |
+
slideResize: 1, // force slide width/height to fixed size before every transition
|
1059 |
+
speed: 1000, // speed of the transition (any valid fx speed value)
|
1060 |
+
speedIn: null, // speed of the 'in' transition
|
1061 |
+
speedOut: null, // speed of the 'out' transition
|
1062 |
+
startingSlide: undefined,// zero-based index of the first slide to be displayed
|
1063 |
+
sync: 1, // true if in/out transitions should occur simultaneously
|
1064 |
+
timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
|
1065 |
+
timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag)
|
1066 |
+
updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style)
|
1067 |
+
width: null // container width (if the 'fit' option is true, the slides will be set to this width as well)
|
1068 |
+
};
|
1069 |
+
|
1070 |
+
})(jQuery);
|
1071 |
+
|
1072 |
+
|
1073 |
+
/*!
|
1074 |
+
* jQuery Cycle Plugin Transition Definitions
|
1075 |
+
* This script is a plugin for the jQuery Cycle Plugin
|
1076 |
+
* Examples and documentation at: http://malsup.com/jquery/cycle/
|
1077 |
+
* Copyright (c) 2007-2010 M. Alsup
|
1078 |
+
* Version: 2.73
|
1079 |
+
* Dual licensed under the MIT and GPL licenses:
|
1080 |
+
* http://www.opensource.org/licenses/mit-license.php
|
1081 |
+
* http://www.gnu.org/licenses/gpl.html
|
1082 |
+
*/
|
1083 |
+
(function($) {
|
1084 |
+
"use strict";
|
1085 |
+
|
1086 |
+
//
|
1087 |
+
// These functions define slide initialization and properties for the named
|
1088 |
+
// transitions. To save file size feel free to remove any of these that you
|
1089 |
+
// don't need.
|
1090 |
+
//
|
1091 |
+
$.fn.cycle.transitions.none = function($cont, $slides, opts) {
|
1092 |
+
opts.fxFn = function(curr,next,opts,after){
|
1093 |
+
$(next).show();
|
1094 |
+
$(curr).hide();
|
1095 |
+
after();
|
1096 |
+
};
|
1097 |
+
};
|
1098 |
+
|
1099 |
+
// not a cross-fade, fadeout only fades out the top slide
|
1100 |
+
$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) {
|
1101 |
+
$slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 });
|
1102 |
+
opts.before.push(function(curr,next,opts,w,h,rev) {
|
1103 |
+
$(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0));
|
1104 |
+
$(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1));
|
1105 |
+
});
|
1106 |
+
opts.animIn.opacity = 1;
|
1107 |
+
opts.animOut.opacity = 0;
|
1108 |
+
opts.cssBefore.opacity = 1;
|
1109 |
+
opts.cssBefore.display = 'block';
|
1110 |
+
opts.cssAfter.zIndex = 0;
|
1111 |
+
};
|
1112 |
+
|
1113 |
+
// scrollUp/Down/Left/Right
|
1114 |
+
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
|
1115 |
+
$cont.css('overflow','hidden');
|
1116 |
+
opts.before.push($.fn.cycle.commonReset);
|
1117 |
+
var h = $cont.height();
|
1118 |
+
opts.cssBefore.top = h;
|
1119 |
+
opts.cssBefore.left = 0;
|
1120 |
+
opts.cssFirst.top = 0;
|
1121 |
+
opts.animIn.top = 0;
|
1122 |
+
opts.animOut.top = -h;
|
1123 |
+
};
|
1124 |
+
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
|
1125 |
+
$cont.css('overflow','hidden');
|
1126 |
+
opts.before.push($.fn.cycle.commonReset);
|
1127 |
+
var h = $cont.height();
|
1128 |
+
opts.cssFirst.top = 0;
|
1129 |
+
opts.cssBefore.top = -h;
|
1130 |
+
opts.cssBefore.left = 0;
|
1131 |
+
opts.animIn.top = 0;
|
1132 |
+
opts.animOut.top = h;
|
1133 |
+
};
|
1134 |
+
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
|
1135 |
+
$cont.css('overflow','hidden');
|
1136 |
+
opts.before.push($.fn.cycle.commonReset);
|
1137 |
+
var w = $cont.width();
|
1138 |
+
opts.cssFirst.left = 0;
|
1139 |
+
opts.cssBefore.left = w;
|
1140 |
+
opts.cssBefore.top = 0;
|
1141 |
+
opts.animIn.left = 0;
|
1142 |
+
opts.animOut.left = 0-w;
|
1143 |
+
};
|
1144 |
+
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
|
1145 |
+
$cont.css('overflow','hidden');
|
1146 |
+
opts.before.push($.fn.cycle.commonReset);
|
1147 |
+
var w = $cont.width();
|
1148 |
+
opts.cssFirst.left = 0;
|
1149 |
+
opts.cssBefore.left = -w;
|
1150 |
+
opts.cssBefore.top = 0;
|
1151 |
+
opts.animIn.left = 0;
|
1152 |
+
opts.animOut.left = w;
|
1153 |
+
};
|
1154 |
+
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
|
1155 |
+
$cont.css('overflow','hidden').width();
|
1156 |
+
opts.before.push(function(curr, next, opts, fwd) {
|
1157 |
+
if (opts.rev)
|
1158 |
+
fwd = !fwd;
|
1159 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1160 |
+
opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
|
1161 |
+
opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
|
1162 |
+
});
|
1163 |
+
opts.cssFirst.left = 0;
|
1164 |
+
opts.cssBefore.top = 0;
|
1165 |
+
opts.animIn.left = 0;
|
1166 |
+
opts.animOut.top = 0;
|
1167 |
+
};
|
1168 |
+
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
|
1169 |
+
$cont.css('overflow','hidden');
|
1170 |
+
opts.before.push(function(curr, next, opts, fwd) {
|
1171 |
+
if (opts.rev)
|
1172 |
+
fwd = !fwd;
|
1173 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1174 |
+
opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
|
1175 |
+
opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
|
1176 |
+
});
|
1177 |
+
opts.cssFirst.top = 0;
|
1178 |
+
opts.cssBefore.left = 0;
|
1179 |
+
opts.animIn.top = 0;
|
1180 |
+
opts.animOut.left = 0;
|
1181 |
+
};
|
1182 |
+
|
1183 |
+
// slideX/slideY
|
1184 |
+
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
|
1185 |
+
opts.before.push(function(curr, next, opts) {
|
1186 |
+
$(opts.elements).not(curr).hide();
|
1187 |
+
$.fn.cycle.commonReset(curr,next,opts,false,true);
|
1188 |
+
opts.animIn.width = next.cycleW;
|
1189 |
+
});
|
1190 |
+
opts.cssBefore.left = 0;
|
1191 |
+
opts.cssBefore.top = 0;
|
1192 |
+
opts.cssBefore.width = 0;
|
1193 |
+
opts.animIn.width = 'show';
|
1194 |
+
opts.animOut.width = 0;
|
1195 |
+
};
|
1196 |
+
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
|
1197 |
+
opts.before.push(function(curr, next, opts) {
|
1198 |
+
$(opts.elements).not(curr).hide();
|
1199 |
+
$.fn.cycle.commonReset(curr,next,opts,true,false);
|
1200 |
+
opts.animIn.height = next.cycleH;
|
1201 |
+
});
|
1202 |
+
opts.cssBefore.left = 0;
|
1203 |
+
opts.cssBefore.top = 0;
|
1204 |
+
opts.cssBefore.height = 0;
|
1205 |
+
opts.animIn.height = 'show';
|
1206 |
+
opts.animOut.height = 0;
|
1207 |
+
};
|
1208 |
+
|
1209 |
+
// shuffle
|
1210 |
+
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
|
1211 |
+
var i, w = $cont.css('overflow', 'visible').width();
|
1212 |
+
$slides.css({left: 0, top: 0});
|
1213 |
+
opts.before.push(function(curr,next,opts) {
|
1214 |
+
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
|
1215 |
+
});
|
1216 |
+
// only adjust speed once!
|
1217 |
+
if (!opts.speedAdjusted) {
|
1218 |
+
opts.speed = opts.speed / 2; // shuffle has 2 transitions
|
1219 |
+
opts.speedAdjusted = true;
|
1220 |
+
}
|
1221 |
+
opts.random = 0;
|
1222 |
+
opts.shuffle = opts.shuffle || {left:-w, top:15};
|
1223 |
+
opts.els = [];
|
1224 |
+
for (i=0; i < $slides.length; i++)
|
1225 |
+
opts.els.push($slides[i]);
|
1226 |
+
|
1227 |
+
for (i=0; i < opts.currSlide; i++)
|
1228 |
+
opts.els.push(opts.els.shift());
|
1229 |
+
|
1230 |
+
// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
|
1231 |
+
opts.fxFn = function(curr, next, opts, cb, fwd) {
|
1232 |
+
if (opts.rev)
|
1233 |
+
fwd = !fwd;
|
1234 |
+
var $el = fwd ? $(curr) : $(next);
|
1235 |
+
$(next).css(opts.cssBefore);
|
1236 |
+
var count = opts.slideCount;
|
1237 |
+
$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
|
1238 |
+
var hops = $.fn.cycle.hopsFromLast(opts, fwd);
|
1239 |
+
for (var k=0; k < hops; k++) {
|
1240 |
+
if (fwd)
|
1241 |
+
opts.els.push(opts.els.shift());
|
1242 |
+
else
|
1243 |
+
opts.els.unshift(opts.els.pop());
|
1244 |
+
}
|
1245 |
+
if (fwd) {
|
1246 |
+
for (var i=0, len=opts.els.length; i < len; i++)
|
1247 |
+
$(opts.els[i]).css('z-index', len-i+count);
|
1248 |
+
}
|
1249 |
+
else {
|
1250 |
+
var z = $(curr).css('z-index');
|
1251 |
+
$el.css('z-index', parseInt(z,10)+1+count);
|
1252 |
+
}
|
1253 |
+
$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
|
1254 |
+
$(fwd ? this : curr).hide();
|
1255 |
+
if (cb) cb();
|
1256 |
+
});
|
1257 |
+
});
|
1258 |
+
};
|
1259 |
+
$.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
|
1260 |
+
};
|
1261 |
+
|
1262 |
+
// turnUp/Down/Left/Right
|
1263 |
+
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
|
1264 |
+
opts.before.push(function(curr, next, opts) {
|
1265 |
+
$.fn.cycle.commonReset(curr,next,opts,true,false);
|
1266 |
+
opts.cssBefore.top = next.cycleH;
|
1267 |
+
opts.animIn.height = next.cycleH;
|
1268 |
+
opts.animOut.width = next.cycleW;
|
1269 |
+
});
|
1270 |
+
opts.cssFirst.top = 0;
|
1271 |
+
opts.cssBefore.left = 0;
|
1272 |
+
opts.cssBefore.height = 0;
|
1273 |
+
opts.animIn.top = 0;
|
1274 |
+
opts.animOut.height = 0;
|
1275 |
+
};
|
1276 |
+
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
|
1277 |
+
opts.before.push(function(curr, next, opts) {
|
1278 |
+
$.fn.cycle.commonReset(curr,next,opts,true,false);
|
1279 |
+
opts.animIn.height = next.cycleH;
|
1280 |
+
opts.animOut.top = curr.cycleH;
|
1281 |
+
});
|
1282 |
+
opts.cssFirst.top = 0;
|
1283 |
+
opts.cssBefore.left = 0;
|
1284 |
+
opts.cssBefore.top = 0;
|
1285 |
+
opts.cssBefore.height = 0;
|
1286 |
+
opts.animOut.height = 0;
|
1287 |
+
};
|
1288 |
+
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
|
1289 |
+
opts.before.push(function(curr, next, opts) {
|
1290 |
+
$.fn.cycle.commonReset(curr,next,opts,false,true);
|
1291 |
+
opts.cssBefore.left = next.cycleW;
|
1292 |
+
opts.animIn.width = next.cycleW;
|
1293 |
+
});
|
1294 |
+
opts.cssBefore.top = 0;
|
1295 |
+
opts.cssBefore.width = 0;
|
1296 |
+
opts.animIn.left = 0;
|
1297 |
+
opts.animOut.width = 0;
|
1298 |
+
};
|
1299 |
+
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
|
1300 |
+
opts.before.push(function(curr, next, opts) {
|
1301 |
+
$.fn.cycle.commonReset(curr,next,opts,false,true);
|
1302 |
+
opts.animIn.width = next.cycleW;
|
1303 |
+
opts.animOut.left = curr.cycleW;
|
1304 |
+
});
|
1305 |
+
$.extend(opts.cssBefore, { top: 0, left: 0, width: 0 });
|
1306 |
+
opts.animIn.left = 0;
|
1307 |
+
opts.animOut.width = 0;
|
1308 |
+
};
|
1309 |
+
|
1310 |
+
// zoom
|
1311 |
+
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
|
1312 |
+
opts.before.push(function(curr, next, opts) {
|
1313 |
+
$.fn.cycle.commonReset(curr,next,opts,false,false,true);
|
1314 |
+
opts.cssBefore.top = next.cycleH/2;
|
1315 |
+
opts.cssBefore.left = next.cycleW/2;
|
1316 |
+
$.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
|
1317 |
+
$.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 });
|
1318 |
+
});
|
1319 |
+
opts.cssFirst.top = 0;
|
1320 |
+
opts.cssFirst.left = 0;
|
1321 |
+
opts.cssBefore.width = 0;
|
1322 |
+
opts.cssBefore.height = 0;
|
1323 |
+
};
|
1324 |
+
|
1325 |
+
// fadeZoom
|
1326 |
+
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
|
1327 |
+
opts.before.push(function(curr, next, opts) {
|
1328 |
+
$.fn.cycle.commonReset(curr,next,opts,false,false);
|
1329 |
+
opts.cssBefore.left = next.cycleW/2;
|
1330 |
+
opts.cssBefore.top = next.cycleH/2;
|
1331 |
+
$.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
|
1332 |
+
});
|
1333 |
+
opts.cssBefore.width = 0;
|
1334 |
+
opts.cssBefore.height = 0;
|
1335 |
+
opts.animOut.opacity = 0;
|
1336 |
+
};
|
1337 |
+
|
1338 |
+
// blindX
|
1339 |
+
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
|
1340 |
+
var w = $cont.css('overflow','hidden').width();
|
1341 |
+
opts.before.push(function(curr, next, opts) {
|
1342 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1343 |
+
opts.animIn.width = next.cycleW;
|
1344 |
+
opts.animOut.left = curr.cycleW;
|
1345 |
+
});
|
1346 |
+
opts.cssBefore.left = w;
|
1347 |
+
opts.cssBefore.top = 0;
|
1348 |
+
opts.animIn.left = 0;
|
1349 |
+
opts.animOut.left = w;
|
1350 |
+
};
|
1351 |
+
// blindY
|
1352 |
+
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
|
1353 |
+
var h = $cont.css('overflow','hidden').height();
|
1354 |
+
opts.before.push(function(curr, next, opts) {
|
1355 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1356 |
+
opts.animIn.height = next.cycleH;
|
1357 |
+
opts.animOut.top = curr.cycleH;
|
1358 |
+
});
|
1359 |
+
opts.cssBefore.top = h;
|
1360 |
+
opts.cssBefore.left = 0;
|
1361 |
+
opts.animIn.top = 0;
|
1362 |
+
opts.animOut.top = h;
|
1363 |
+
};
|
1364 |
+
// blindZ
|
1365 |
+
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
|
1366 |
+
var h = $cont.css('overflow','hidden').height();
|
1367 |
+
var w = $cont.width();
|
1368 |
+
opts.before.push(function(curr, next, opts) {
|
1369 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1370 |
+
opts.animIn.height = next.cycleH;
|
1371 |
+
opts.animOut.top = curr.cycleH;
|
1372 |
+
});
|
1373 |
+
opts.cssBefore.top = h;
|
1374 |
+
opts.cssBefore.left = w;
|
1375 |
+
opts.animIn.top = 0;
|
1376 |
+
opts.animIn.left = 0;
|
1377 |
+
opts.animOut.top = h;
|
1378 |
+
opts.animOut.left = w;
|
1379 |
+
};
|
1380 |
+
|
1381 |
+
// growX - grow horizontally from centered 0 width
|
1382 |
+
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
|
1383 |
+
opts.before.push(function(curr, next, opts) {
|
1384 |
+
$.fn.cycle.commonReset(curr,next,opts,false,true);
|
1385 |
+
opts.cssBefore.left = this.cycleW/2;
|
1386 |
+
opts.animIn.left = 0;
|
1387 |
+
opts.animIn.width = this.cycleW;
|
1388 |
+
opts.animOut.left = 0;
|
1389 |
+
});
|
1390 |
+
opts.cssBefore.top = 0;
|
1391 |
+
opts.cssBefore.width = 0;
|
1392 |
+
};
|
1393 |
+
// growY - grow vertically from centered 0 height
|
1394 |
+
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
|
1395 |
+
opts.before.push(function(curr, next, opts) {
|
1396 |
+
$.fn.cycle.commonReset(curr,next,opts,true,false);
|
1397 |
+
opts.cssBefore.top = this.cycleH/2;
|
1398 |
+
opts.animIn.top = 0;
|
1399 |
+
opts.animIn.height = this.cycleH;
|
1400 |
+
opts.animOut.top = 0;
|
1401 |
+
});
|
1402 |
+
opts.cssBefore.height = 0;
|
1403 |
+
opts.cssBefore.left = 0;
|
1404 |
+
};
|
1405 |
+
|
1406 |
+
// curtainX - squeeze in both edges horizontally
|
1407 |
+
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
|
1408 |
+
opts.before.push(function(curr, next, opts) {
|
1409 |
+
$.fn.cycle.commonReset(curr,next,opts,false,true,true);
|
1410 |
+
opts.cssBefore.left = next.cycleW/2;
|
1411 |
+
opts.animIn.left = 0;
|
1412 |
+
opts.animIn.width = this.cycleW;
|
1413 |
+
opts.animOut.left = curr.cycleW/2;
|
1414 |
+
opts.animOut.width = 0;
|
1415 |
+
});
|
1416 |
+
opts.cssBefore.top = 0;
|
1417 |
+
opts.cssBefore.width = 0;
|
1418 |
+
};
|
1419 |
+
// curtainY - squeeze in both edges vertically
|
1420 |
+
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
|
1421 |
+
opts.before.push(function(curr, next, opts) {
|
1422 |
+
$.fn.cycle.commonReset(curr,next,opts,true,false,true);
|
1423 |
+
opts.cssBefore.top = next.cycleH/2;
|
1424 |
+
opts.animIn.top = 0;
|
1425 |
+
opts.animIn.height = next.cycleH;
|
1426 |
+
opts.animOut.top = curr.cycleH/2;
|
1427 |
+
opts.animOut.height = 0;
|
1428 |
+
});
|
1429 |
+
opts.cssBefore.height = 0;
|
1430 |
+
opts.cssBefore.left = 0;
|
1431 |
+
};
|
1432 |
+
|
1433 |
+
// cover - curr slide covered by next slide
|
1434 |
+
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
|
1435 |
+
var d = opts.direction || 'left';
|
1436 |
+
var w = $cont.css('overflow','hidden').width();
|
1437 |
+
var h = $cont.height();
|
1438 |
+
opts.before.push(function(curr, next, opts) {
|
1439 |
+
$.fn.cycle.commonReset(curr,next,opts);
|
1440 |
+
opts.cssAfter.display = '';
|
1441 |
+
if (d == 'right')
|
1442 |
+
opts.cssBefore.left = -w;
|
1443 |
+
else if (d == 'up')
|
1444 |
+
opts.cssBefore.top = h;
|
1445 |
+
else if (d == 'down')
|
1446 |
+
opts.cssBefore.top = -h;
|
1447 |
+
else
|
1448 |
+
opts.cssBefore.left = w;
|
1449 |
+
});
|
1450 |
+
opts.animIn.left = 0;
|
1451 |
+
opts.animIn.top = 0;
|
1452 |
+
opts.cssBefore.top = 0;
|
1453 |
+
opts.cssBefore.left = 0;
|
1454 |
+
};
|
1455 |
+
|
1456 |
+
// uncover - curr slide moves off next slide
|
1457 |
+
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
|
1458 |
+
var d = opts.direction || 'left';
|
1459 |
+
var w = $cont.css('overflow','hidden').width();
|
1460 |
+
var h = $cont.height();
|
1461 |
+
opts.before.push(function(curr, next, opts) {
|
1462 |
+
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
|
1463 |
+
if (d == 'right')
|
1464 |
+
opts.animOut.left = w;
|
1465 |
+
else if (d == 'up')
|
1466 |
+
opts.animOut.top = -h;
|
1467 |
+
else if (d == 'down')
|
1468 |
+
opts.animOut.top = h;
|
1469 |
+
else
|
1470 |
+
opts.animOut.left = -w;
|
1471 |
+
});
|
1472 |
+
opts.animIn.left = 0;
|
1473 |
+
opts.animIn.top = 0;
|
1474 |
+
opts.cssBefore.top = 0;
|
1475 |
+
opts.cssBefore.left = 0;
|
1476 |
+
};
|
1477 |
+
|
1478 |
+
// toss - move top slide and fade away
|
1479 |
+
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
|
1480 |
+
var w = $cont.css('overflow','visible').width();
|
1481 |
+
var h = $cont.height();
|
1482 |
+
opts.before.push(function(curr, next, opts) {
|
1483 |
+
$.fn.cycle.commonReset(curr,next,opts,true,true,true);
|
1484 |
+
// provide default toss settings if animOut not provided
|
1485 |
+
if (!opts.animOut.left && !opts.animOut.top)
|
1486 |
+
$.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 });
|
1487 |
+
else
|
1488 |
+
opts.animOut.opacity = 0;
|
1489 |
+
});
|
1490 |
+
opts.cssBefore.left = 0;
|
1491 |
+
opts.cssBefore.top = 0;
|
1492 |
+
opts.animIn.left = 0;
|
1493 |
+
};
|
1494 |
+
|
1495 |
+
// wipe - clip animation
|
1496 |
+
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
|
1497 |
+
var w = $cont.css('overflow','hidden').width();
|
1498 |
+
var h = $cont.height();
|
1499 |
+
opts.cssBefore = opts.cssBefore || {};
|
1500 |
+
var clip;
|
1501 |
+
if (opts.clip) {
|
1502 |
+
if (/l2r/.test(opts.clip))
|
1503 |
+
clip = 'rect(0px 0px '+h+'px 0px)';
|
1504 |
+
else if (/r2l/.test(opts.clip))
|
1505 |
+
clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
|
1506 |
+
else if (/t2b/.test(opts.clip))
|
1507 |
+
clip = 'rect(0px '+w+'px 0px 0px)';
|
1508 |
+
else if (/b2t/.test(opts.clip))
|
1509 |
+
clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
|
1510 |
+
else if (/zoom/.test(opts.clip)) {
|
1511 |
+
var top = parseInt(h/2,10);
|
1512 |
+
var left = parseInt(w/2,10);
|
1513 |
+
clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
|
1514 |
+
}
|
1515 |
+
}
|
1516 |
+
|
1517 |
+
opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
|
1518 |
+
|
1519 |
+
var d = opts.cssBefore.clip.match(/(\d+)/g);
|
1520 |
+
var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10);
|
1521 |
+
|
1522 |
+
opts.before.push(function(curr, next, opts) {
|
1523 |
+
if (curr == next) return;
|
1524 |
+
var $curr = $(curr), $next = $(next);
|
1525 |
+
$.fn.cycle.commonReset(curr,next,opts,true,true,false);
|
1526 |
+
opts.cssAfter.display = 'block';
|
1527 |
+
|
1528 |
+
var step = 1, count = parseInt((opts.speedIn / 13),10) - 1;
|
1529 |
+
(function f() {
|
1530 |
+
var tt = t ? t - parseInt(step * (t/count),10) : 0;
|
1531 |
+
var ll = l ? l - parseInt(step * (l/count),10) : 0;
|
1532 |
+
var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h;
|
1533 |
+
var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w;
|
1534 |
+
$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
|
1535 |
+
(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
|
1536 |
+
})();
|
1537 |
+
});
|
1538 |
+
$.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
|
1539 |
+
opts.animIn = { left: 0 };
|
1540 |
+
opts.animOut = { left: 0 };
|
1541 |
+
};
|
1542 |
+
|
1543 |
+
})(jQuery);
|
readme.txt
CHANGED
@@ -1,43 +1,43 @@
|
|
1 |
=== Smooth Slider ===
|
2 |
Contributors: internet techies, slidervilla, tejaswini
|
3 |
-
Donate link: http://www.clickonf5.org/go/smooth-slider/
|
4 |
Tags: best slider plugin, carousel, carousel slider, coin slider, content slider, content slideshow, custom video slider, flex slider, free video slider, free video slideshow, Horizontal slider, Image Rotator, image slider, image slideshow, javascript slider, javascript slideshow, jquery slider, jquery slideshow, Photo Slider, posts slider, responsive slider, responsive slideshow, sidebar, slide, slide show, slider, slider plugin, slider widget, slides, slideshow,slideshow manager, slideshow plugin, vertical slider, video slider, video slideshow,vimeo slideshow, vimeo slider, widget slider, widget slideshow, wordpress slider, wordpress slideshow, wp slider, youtube slider, youtube slideshow, post slider, fullscreen Slider, css3 slider, responsive image slider, banner slider, social slider, cycle slider, text slider, revolution slider, thumbnail slider, touch slider, sliders, parallax slider, coinslider, featured-content-slider, image, images, picture, pictures, picture slider, responsive, shortcode, widget, vertical slides, autoplay, auto, jquery, rotate, flexslider, gallery, photo gallery, javascript, rotator, wordpress picture slider, wordpress responsive slider, animation, best slider, fullwidth slider, mobile slider, swipe, layer, layer slider, product slider, mp3, video
|
5 |
-
Requires at least:
|
6 |
-
Tested up to: 4.8
|
7 |
-
Stable tag: 2.8.
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Free WordPress Slider Plugin to Create Image Slider, Post Slider, Content Slider, Video Slideshow with Responsive Design
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
-
WordPress allows to create variety of content for a website. To make the site look more engaging to visitors and utilize the web-page real estate, it is recommended to use sliders or carousels. Web is full of free and premium slideshow creators either using a page builder or with some JavaScript libraries. Unlike those, <a href="
|
15 |
|
16 |
> <strong>Premium WordPress Sliders</strong><br>
|
17 |
|
18 |
> Apart from Smooth Slider, SliderVilla is having 19+ Free and Premium WordPress Sliders plugins. It is only place with so many ready designs for different requirements and needs. Pick a slider as per your design requirement and feature need. Premium sliders on SliderVilla comes with lot many extra features.
|
19 |
-
> For example, <a href="
|
20 |
-
> of SliderVilla. Similarly, Pointelle Slider is a WordPress Content Slider best suitable as Homepage Slider. All these premium sliders are not just well integrated > with WordPress, but also comes with WooCommerce, Events Manager, The Events Calendar integrations. One can <a href="
|
21 |
-
> Slider, <a href="
|
22 |
|
23 |
-
> <a href="
|
24 |
|
25 |
> <strong>Smooth Slider Pro</strong><br>
|
26 |
|
27 |
-
> <a href="
|
28 |
> extra skins to make the sliders look even more elegant and design rich. Apart from that, All integrations and type of sliders are possible with Roster Slider
|
29 |
> WordPress plugin.
|
30 |
|
31 |
> <strong>Live Support & Priority Support</strong><br>
|
32 |
|
33 |
> SliderVilla Support team is committed towards all users of our slider plugins including free sliders. If you are not getting reply on the support threads on
|
34 |
-
> repository forum, please feel free to visit SliderVilla and get priority support using Live Chat or by <a href="
|
35 |
|
36 |
|
37 |
|
38 |
= Create Responsive WordPress Slider =
|
39 |
|
40 |
-
Once you create a new slider by adding posts to Smooth Slider, you can preview the complete slider on settings page. It allows you to customize the typography, transition speed, effect, background color, slider width and height etc. before embedding the slider. You can directly preview an <a href="
|
41 |
|
42 |
= Change Slide Link URL =
|
43 |
|
@@ -90,13 +90,13 @@ With Add-ons, you can extend the functionality of Smooth Slider WordPress plugin
|
|
90 |
For more information, check the following articles
|
91 |
|
92 |
* Complete <a href="http://guides.slidervilla.com/smooth-slider/">Documentation of Smooth Slider</a>
|
93 |
-
* <a href="
|
94 |
* Once Slider is Installed, <a href="https://sanjeevmishra.com/make-wordpress-sites-load-faster-than-rediff-com/">Optimize the Site to Make it Fast</a>
|
95 |
-
* Checkout <a href="
|
96 |
* Follow us on <a href="https://www.facebook.com/slidervilla">Facebook</a> and <a href="https://twitter.com/slidervilla">Twitter</a>
|
97 |
|
98 |
= List of Premium Sliders =
|
99 |
-
= <a href="
|
100 |
|
101 |
* Create Unlimited Settings Panels
|
102 |
* Created Unlimited Custom Sliders
|
@@ -116,16 +116,16 @@ For more information, check the following articles
|
|
116 |
|
117 |
Checkout Few Premium WordPress Responsive Sliders such as,
|
118 |
|
119 |
-
* Placid Slider - <a href="
|
120 |
-
* Pointelle Slider - <a href="
|
121 |
-
* Glam Slider - <a href="
|
122 |
-
* Featured Slider - <a href="
|
123 |
-
* Listic Slider - <a href="
|
124 |
-
* Roster Slider - <a href="
|
125 |
-
* Pinwheel Slider - <a href="
|
126 |
-
* Akkord Slider - <a href="
|
127 |
-
* Foto Slider - <a href="
|
128 |
-
and <a href="
|
129 |
|
130 |
|
131 |
== Installation ==
|
@@ -217,6 +217,10 @@ Check the other FAQs on Smooth [Slider Documetation on SliderVilla](http://guide
|
|
217 |
|
218 |
== Changelog ==
|
219 |
|
|
|
|
|
|
|
|
|
220 |
Version 2.8.7 (07/15/2017)
|
221 |
|
222 |
1. Fix - Expiry date issue with non-English WordPress installations.
|
1 |
=== Smooth Slider ===
|
2 |
Contributors: internet techies, slidervilla, tejaswini
|
3 |
+
Donate link: http://www.clickonf5.org/go/smooth-slider/
|
4 |
Tags: best slider plugin, carousel, carousel slider, coin slider, content slider, content slideshow, custom video slider, flex slider, free video slider, free video slideshow, Horizontal slider, Image Rotator, image slider, image slideshow, javascript slider, javascript slideshow, jquery slider, jquery slideshow, Photo Slider, posts slider, responsive slider, responsive slideshow, sidebar, slide, slide show, slider, slider plugin, slider widget, slides, slideshow,slideshow manager, slideshow plugin, vertical slider, video slider, video slideshow,vimeo slideshow, vimeo slider, widget slider, widget slideshow, wordpress slider, wordpress slideshow, wp slider, youtube slider, youtube slideshow, post slider, fullscreen Slider, css3 slider, responsive image slider, banner slider, social slider, cycle slider, text slider, revolution slider, thumbnail slider, touch slider, sliders, parallax slider, coinslider, featured-content-slider, image, images, picture, pictures, picture slider, responsive, shortcode, widget, vertical slides, autoplay, auto, jquery, rotate, flexslider, gallery, photo gallery, javascript, rotator, wordpress picture slider, wordpress responsive slider, animation, best slider, fullwidth slider, mobile slider, swipe, layer, layer slider, product slider, mp3, video
|
5 |
+
Requires at least: 4.0
|
6 |
+
Tested up to: 4.9.8
|
7 |
+
Stable tag: 2.8.8
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Free WordPress Slider Plugin to Create Image Slider, Post Slider, Content Slider, Video Slideshow with Responsive Design
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
WordPress allows to create variety of content for a website. To make the site look more engaging to visitors and utilize the web-page real estate, it is recommended to use sliders or carousels. Web is full of free and premium slideshow creators either using a page builder or with some JavaScript libraries. Unlike those, <a href="https://slidervilla.com//smooth-slider/" rel="friend" title="Smooth Slider">Smooth Slider</a> is specially designed for WordPress CMS and allows you to create variety of sliders like Posts Slider, Image Slider with uploaded images from Media Library, WordPress Page Slider, Video Slider, Pure Image Gallery etc. With the option to choose image placement in left, right or center, you can easily change the layout. Mobile friendly auto adjusted design makes Smooth Slider one of the best free WordPress responsive slider plugin. Plugin has been written by Tejaswini and the team at <a href="https://slidervilla.com//" rel="friend" title="Best WordPress Slider Store">SliderVilla - Best WordPress Slider Store</a>.
|
15 |
|
16 |
> <strong>Premium WordPress Sliders</strong><br>
|
17 |
|
18 |
> Apart from Smooth Slider, SliderVilla is having 19+ Free and Premium WordPress Sliders plugins. It is only place with so many ready designs for different requirements and needs. Pick a slider as per your design requirement and feature need. Premium sliders on SliderVilla comes with lot many extra features.
|
19 |
+
> For example, <a href="https://slidervilla.com//placid/" rel="friend" title="Placid Slider">Placid Slider</a> is the best Logo and Brand Slider WordPress plugin. If you are looking for an elegant Image Gallery for WordPress, checkout <a href="https://slidervilla.com//foto-slider/" rel="friend" title="Foto Slider">Foto Slider</a>
|
20 |
+
> of SliderVilla. Similarly, Pointelle Slider is a WordPress Content Slider best suitable as Homepage Slider. All these premium sliders are not just well integrated > with WordPress, but also comes with WooCommerce, Events Manager, The Events Calendar integrations. One can <a href="https://slidervilla.com//blog/2016/09/create-carousel-events-calendar-wordpress-plugin-data/">build Events Slider</a>, <a href="https://slidervilla.com//blog/2016/09/embed-woocommerce-product-slider-cart/">Products Slider</a>, Facebook Album
|
21 |
+
> Slider, <a href="https://slidervilla.com//blog/2016/09/add-flickr-image-album-slider-wordpress/">Flickr Image Gallery</a>, RSS Feed Slider, Category and Tag Slider, Custom Post Type Slider, YouTube Auto Fetch Video Slider, Instagram Slider and many more.
|
22 |
|
23 |
+
> <a href="https://slidervilla.com//">Visit SliderVilla</a>, the largest WordPress Slider Store.
|
24 |
|
25 |
> <strong>Smooth Slider Pro</strong><br>
|
26 |
|
27 |
+
> <a href="https://slidervilla.com//roster/">Roster Slider</a> of SliderVilla is the premium version of Smooth Slider plugin. You can create unlimited sliders with separate designs using Roster. It comes with 3
|
28 |
> extra skins to make the sliders look even more elegant and design rich. Apart from that, All integrations and type of sliders are possible with Roster Slider
|
29 |
> WordPress plugin.
|
30 |
|
31 |
> <strong>Live Support & Priority Support</strong><br>
|
32 |
|
33 |
> SliderVilla Support team is committed towards all users of our slider plugins including free sliders. If you are not getting reply on the support threads on
|
34 |
+
> repository forum, please feel free to visit SliderVilla and get priority support using Live Chat or by <a href="https://slidervilla.com//contact-us/">submitting a ticket</a>.
|
35 |
|
36 |
|
37 |
|
38 |
= Create Responsive WordPress Slider =
|
39 |
|
40 |
+
Once you create a new slider by adding posts to Smooth Slider, you can preview the complete slider on settings page. It allows you to customize the typography, transition speed, effect, background color, slider width and height etc. before embedding the slider. You can directly preview an <a href="https://slidervilla.com//blog/2015/12/dynamically-fetched-latest-posts-slider-wordpress/">Auto Fetched Recent Posts Slider</a> and Category Slider on the setting page.
|
41 |
|
42 |
= Change Slide Link URL =
|
43 |
|
90 |
For more information, check the following articles
|
91 |
|
92 |
* Complete <a href="http://guides.slidervilla.com/smooth-slider/">Documentation of Smooth Slider</a>
|
93 |
+
* <a href="https://slidervilla.com//sliders-list-view/">Browser Premium Sliders of SliderVilla</a>
|
94 |
* Once Slider is Installed, <a href="https://sanjeevmishra.com/make-wordpress-sites-load-faster-than-rediff-com/">Optimize the Site to Make it Fast</a>
|
95 |
+
* Checkout <a href="https://slidervilla.com//blog/" rel="friend">WordPress Slider Blog</a> for Tutorials, Howtos and more
|
96 |
* Follow us on <a href="https://www.facebook.com/slidervilla">Facebook</a> and <a href="https://twitter.com/slidervilla">Twitter</a>
|
97 |
|
98 |
= List of Premium Sliders =
|
99 |
+
= <a href="https://slidervilla.com//sliders-list-view/" rel="friend" title="Premium WordPress Sliders">19+ Premium WordPress Sliders</a> =
|
100 |
|
101 |
* Create Unlimited Settings Panels
|
102 |
* Created Unlimited Custom Sliders
|
116 |
|
117 |
Checkout Few Premium WordPress Responsive Sliders such as,
|
118 |
|
119 |
+
* Placid Slider - <a href="https://slidervilla.com//placid/" rel="friend" title="Best Logo and Client Brand Slider">Best Logo and Client Brand Slider</a>
|
120 |
+
* Pointelle Slider - <a href="https://slidervilla.com//pointelle/" rel="friend" title="Best WordPress Slider Design for Homepage">Best WordPress Slider Design for Homepage</a>
|
121 |
+
* Glam Slider - <a href="https://slidervilla.com//glam/" rel="friend" title="Full Page Slider with Partial Visible Slides">Full Page Slider with Partial Visible Slides</a>
|
122 |
+
* Featured Slider - <a href="https://slidervilla.com//featured-slider/" rel="friend" title="Awesome WordPress Slider to Show Featured Content">Awesome WordPress Slider to Show Featured Content</a>
|
123 |
+
* Listic Slider - <a href="https://slidervilla.com//listic/" rel="friend" title="Best List View Slider for WordPress">Best List View Slider for WordPress</a>
|
124 |
+
* Roster Slider - <a href="https://slidervilla.com//roster/" rel="friend" title="Best Horizontal Carousal for WordPress">Best Horizontal Carousal for WordPress</a>
|
125 |
+
* Pinwheel Slider - <a href="https://slidervilla.com//pinwheel/" rel="friend" title="Ultimate rotator with responsive design">Ultimate rotator with responsive design</a>
|
126 |
+
* Akkord Slider - <a href="https://slidervilla.com//akkord/" rel="friend" title="Premium Accordion Slider for WordPress">Premium Accordion Slider for WordPress</a>
|
127 |
+
* Foto Slider - <a href="https://slidervilla.com//foto-slider/" rel="friend" title="Best Gallery View Slider for WordPress">Best Gallery View Slider for WordPress</a>
|
128 |
+
and <a href="https://slidervilla.com//sliders-list-view/">many more</a>
|
129 |
|
130 |
|
131 |
== Installation ==
|
217 |
|
218 |
== Changelog ==
|
219 |
|
220 |
+
Version 2.8.8 (12/04/2018)
|
221 |
+
|
222 |
+
1. Fix - User input sanitization as per WordPress standards
|
223 |
+
|
224 |
Version 2.8.7 (07/15/2017)
|
225 |
|
226 |
1. Fix - Expiry date issue with non-English WordPress installations.
|
settings/settings.php
CHANGED
@@ -1010,21 +1010,21 @@ jQuery('#saveResult').html("<div id='popup'><div class='modal_shortcode'>Quick E
|
|
1010 |
<div class="postbox" style="margin:10px 0;">
|
1011 |
<div class="inside">
|
1012 |
<div style="margin:10px auto;">
|
1013 |
-
<a href="
|
1014 |
</div>
|
1015 |
-
<p><a href="
|
1016 |
-
<p><strong>Stylish Sliders, <a href="
|
1017 |
-
<p><a href="
|
1018 |
</div></div>
|
1019 |
|
1020 |
<div class="postbox">
|
1021 |
<h3 class="hndle"><span><?php _e('About this Plugin:','smooth-slider'); ?></span></h3>
|
1022 |
<div class="inside">
|
1023 |
<ul>
|
1024 |
-
<li><a href="
|
1025 |
<li><a href="http://wordpress.org/support/plugin/smooth-slider" title="<?php _e('Support Forum for Smooth Slider','smooth-slider'); ?>
|
1026 |
" ><?php _e('Support Forum','smooth-slider'); ?></a></li>
|
1027 |
-
<li><a href="
|
1028 |
<li><a href="http://www.clickonf5.org/go/smooth-slider/" title="<?php _e('Donate if you liked the plugin and support in enhancing Smooth Slider and creating new plugins','smooth-slider'); ?>" ><?php _e('Donate with Paypal','smooth-slider'); ?></a></li>
|
1029 |
<li><strong>Current Version: <?php echo SMOOTH_SLIDER_VER;?></strong></li>
|
1030 |
</ul>
|
1010 |
<div class="postbox" style="margin:10px 0;">
|
1011 |
<div class="inside">
|
1012 |
<div style="margin:10px auto;">
|
1013 |
+
<a href="https://slidervilla.com/" title="Premium WordPress Slider Plugins" target="_blank"><img src="<?php echo smooth_slider_plugin_url('images/banner-premium.png');?>" alt="Premium WordPress Slider Plugins" width="100%" /></a>
|
1014 |
</div>
|
1015 |
+
<p><a href="https://slidervilla.com//" title="Recommended WordPress Sliders" target="_blank">SliderVilla slider plugins</a> are feature rich and stylish plugins to embed a nice looking featured content slider in your existing or new theme template. 100% customization options available on WordPress Settings page of the plugin.</p>
|
1016 |
+
<p><strong>Stylish Sliders, <a href="https://slidervilla.com//blog/testimonials/" target="_blank">Happy Customers</a>!</strong></p>
|
1017 |
+
<p><a href="https://slidervilla.com//" title="Recommended WordPress Sliders" target="_blank">For more info visit SliderVilla</a></p>
|
1018 |
</div></div>
|
1019 |
|
1020 |
<div class="postbox">
|
1021 |
<h3 class="hndle"><span><?php _e('About this Plugin:','smooth-slider'); ?></span></h3>
|
1022 |
<div class="inside">
|
1023 |
<ul>
|
1024 |
+
<li><a href="https://slidervilla.com//smooth-slider" title="<?php _e('Smooth Slider Homepage','smooth-slider'); ?>" ><?php _e('Plugin Homepage','smooth-slider'); ?></a></li>
|
1025 |
<li><a href="http://wordpress.org/support/plugin/smooth-slider" title="<?php _e('Support Forum for Smooth Slider','smooth-slider'); ?>
|
1026 |
" ><?php _e('Support Forum','smooth-slider'); ?></a></li>
|
1027 |
+
<li><a href="https://slidervilla.com//about-us/" title="<?php _e('Smooth Slider Author Page','smooth-slider'); ?>" ><?php _e('About the Author','smooth-slider'); ?></a></li>
|
1028 |
<li><a href="http://www.clickonf5.org/go/smooth-slider/" title="<?php _e('Donate if you liked the plugin and support in enhancing Smooth Slider and creating new plugins','smooth-slider'); ?>" ><?php _e('Donate with Paypal','smooth-slider'); ?></a></li>
|
1029 |
<li><strong>Current Version: <?php echo SMOOTH_SLIDER_VER;?></strong></li>
|
1030 |
</ul>
|
settings/sliders.php
CHANGED
@@ -1,17 +1,24 @@
|
|
1 |
<?php // This function displays the page content for the Smooth Slider Options submenu
|
2 |
function smooth_slider_create_multiple_sliders() {
|
|
|
3 |
global $smooth_slider;
|
4 |
?>
|
5 |
<div class="wrap smooth_sliders_create" id="smooth_sliders_create" style="clear:both;">
|
6 |
<h2 style="float:left;"><?php _e('Sliders Created','smooth-slider'); ?></h2>
|
7 |
<?php
|
8 |
if (isset($_POST['remove_posts_slider'])) {
|
|
|
|
|
|
|
|
|
|
|
9 |
if (isset($_POST['slider_posts']) ) {
|
10 |
global $wpdb, $table_prefix;
|
11 |
$table_name = $table_prefix.SLIDER_TABLE;
|
12 |
-
$current_slider = isset($_POST['current_slider_id'])
|
13 |
$current_slider = intval($current_slider);
|
14 |
foreach ( $_POST['slider_posts'] as $post_id=>$val ) {
|
|
|
15 |
$wpdb->query(
|
16 |
$wpdb->prepare(
|
17 |
"
|
@@ -28,7 +35,7 @@ if (isset($_POST['remove_posts_slider'])) {
|
|
28 |
if ($_POST['remove_all'] == __('Remove All at Once','smooth-slider')) {
|
29 |
global $wpdb, $table_prefix;
|
30 |
$table_name = $table_prefix.SLIDER_TABLE;
|
31 |
-
$current_slider = isset($_POST['current_slider_id'])
|
32 |
$current_slider = intval($current_slider);
|
33 |
if(is_slider_on_slider_table($current_slider)) {
|
34 |
$wpdb->delete( $table_name, array( 'slider_id' => $current_slider ), array( '%d' ) );
|
@@ -37,8 +44,8 @@ if (isset($_POST['remove_posts_slider'])) {
|
|
37 |
}
|
38 |
if (isset ($_POST['remove_all'])) {
|
39 |
if ($_POST['remove_all'] == __('Delete Slider','smooth-slider')) {
|
40 |
-
$slider_id = isset($_POST['current_slider_id'])
|
41 |
-
|
42 |
|
43 |
global $wpdb, $table_prefix;
|
44 |
$slider_table = $table_prefix.SLIDER_TABLE;
|
@@ -54,9 +61,15 @@ if (isset($_POST['remove_posts_slider'])) {
|
|
54 |
$wpdb->delete( $slider_postmeta, array( 'slider_id' => $slider_id ), array( '%d' ) );
|
55 |
}
|
56 |
}
|
57 |
-
}
|
|
|
58 |
}
|
59 |
if (isset($_POST['create_new_slider'])) {
|
|
|
|
|
|
|
|
|
|
|
60 |
$slider_name = sanitize_text_field( $_POST['new_slider_name'] );
|
61 |
global $wpdb,$table_prefix;
|
62 |
$slider_meta = $table_prefix.SLIDER_META;
|
@@ -68,13 +81,19 @@ if (isset($_POST['create_new_slider'])) {
|
|
68 |
$slider_name
|
69 |
)
|
70 |
);
|
|
|
71 |
}
|
72 |
if (isset($_POST['reorder_posts_slider'])) {
|
|
|
|
|
|
|
|
|
|
|
73 |
$i=1;
|
74 |
global $wpdb, $table_prefix;
|
75 |
$table_name = $table_prefix.SLIDER_TABLE;
|
76 |
foreach ($_POST['order'] as $slide_order) {
|
77 |
-
$slide_order = intval($slide_order);
|
78 |
$wpdb->update(
|
79 |
$table_name,
|
80 |
array(
|
@@ -88,11 +107,17 @@ if (isset($_POST['reorder_posts_slider'])) {
|
|
88 |
);
|
89 |
$i++;
|
90 |
}
|
|
|
91 |
}
|
92 |
/*Added for rename slider-2.6-start*/
|
93 |
if ((isset ($_POST['rename_slider'])) and ($_POST['rename_slider'] == __('Rename','smooth-slider'))) {
|
|
|
|
|
|
|
|
|
|
|
94 |
$slider_name = sanitize_text_field( $_POST['rename_slider_to'] );
|
95 |
-
$slider_id = isset($_POST['current_slider_id'])
|
96 |
$slider_id = intval($slider_id);
|
97 |
if( !empty($slider_name) ) {
|
98 |
global $wpdb,$table_prefix;
|
@@ -109,19 +134,26 @@ if ((isset ($_POST['rename_slider'])) and ($_POST['rename_slider'] == __('Rename
|
|
109 |
array( '%d' )
|
110 |
);
|
111 |
}
|
|
|
112 |
}
|
113 |
/*Added for rename slider-2.6-end*/
|
114 |
|
115 |
/* Added for upload media save-2.6 */
|
116 |
if ( isset($_POST['addSave']) and ($_POST['addSave']=='Save') ) {
|
|
|
|
|
|
|
|
|
|
|
117 |
$images=(isset($_POST['imgID']))?$_POST['imgID']:array();
|
118 |
-
$slider_id = isset($_POST['current_slider_id'])
|
119 |
$slider_id = intval($slider_id);
|
120 |
$ids=array_reverse($images);
|
121 |
global $wpdb,$table_prefix;
|
122 |
foreach($ids as $id){
|
123 |
-
$
|
124 |
-
$
|
|
|
125 |
$link=(isset($_POST['link'][$id]))?sanitize_text_field($_POST['link'][$id]):'';
|
126 |
$nolink=(isset($_POST['nolink'][$id]))?sanitize_text_field($_POST['nolink'][$id]):'';
|
127 |
$attachment = array(
|
@@ -147,6 +179,7 @@ if ( isset($_POST['addSave']) and ($_POST['addSave']=='Save') ) {
|
|
147 |
);
|
148 |
}
|
149 |
}
|
|
|
150 |
}
|
151 |
/* upload media end 2.6 */
|
152 |
?>
|
@@ -185,6 +218,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
185 |
</div>
|
186 |
<input type="hidden" name="current_slider_id" value="<?php echo $slider['slider_id'];?>" />
|
187 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
|
|
188 |
</form>
|
189 |
</div>
|
190 |
<!-- Add bulk images end 2.6-->
|
@@ -239,6 +273,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
239 |
?>
|
240 |
</tbody></table>
|
241 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
|
|
242 |
</form>
|
243 |
|
244 |
|
@@ -279,6 +314,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
279 |
?>
|
280 |
</div>
|
281 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
|
|
282 |
</form>
|
283 |
<!-- Added for rename slider -start -->
|
284 |
<h3 class="sub-heading" style="margin:40px 0px 5px 0;"><?php _e('Rename Slider','smooth-slider'); ?></h3>
|
@@ -294,6 +330,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
294 |
|
295 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
296 |
<input type="hidden" name="smooth_slider_options[reviewme]" id="smooth_reviewme" value="<?php echo $smooth_slider['reviewme']; ?>" />
|
|
|
297 |
|
298 |
</form>
|
299 |
|
@@ -327,7 +364,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
327 |
<input name="new_slider_name" class="regular-text code" value="" style="clear:both;" />
|
328 |
|
329 |
<div class="submit"><input type="submit" value="<?php _e('Create New','smooth-slider'); ?>" name="create_new" /></div>
|
330 |
-
|
331 |
</form>
|
332 |
</div>
|
333 |
<?php }?>
|
@@ -341,10 +378,10 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
341 |
<h3 class="hndle"><span><?php _e('About this Plugin:','smooth-slider'); ?></span></h3>
|
342 |
<div class="inside">
|
343 |
<ul>
|
344 |
-
<li><a href="
|
345 |
<li><a href="http://wordpress.org/support/plugin/smooth-slider" title="<?php _e('Support Forum for Smooth Slider','smooth-slider'); ?>
|
346 |
" ><?php _e('Support Forum','smooth-slider'); ?></a></li>
|
347 |
-
<li><a href="
|
348 |
<li><a href="http://www.clickonf5.org/go/smooth-slider/" title="<?php _e('Donate if you liked the plugin and support in enhancing Smooth Slider and creating new plugins','smooth-slider'); ?>" ><?php _e('Donate with Paypal','smooth-slider'); ?></a></li>
|
349 |
<li><strong>Current Version: <?php echo SMOOTH_SLIDER_VER;?></strong></li>
|
350 |
</ul>
|
@@ -355,7 +392,7 @@ wp_enqueue_script( 'media-uploader', smooth_slider_plugin_url( 'js/media-uploade
|
|
355 |
|
356 |
<div class="inside">
|
357 |
<div style="margin:10px auto;">
|
358 |
-
<a href="
|
359 |
</div>
|
360 |
</div></div>
|
361 |
|
1 |
<?php // This function displays the page content for the Smooth Slider Options submenu
|
2 |
function smooth_slider_create_multiple_sliders() {
|
3 |
+
|
4 |
global $smooth_slider;
|
5 |
?>
|
6 |
<div class="wrap smooth_sliders_create" id="smooth_sliders_create" style="clear:both;">
|
7 |
<h2 style="float:left;"><?php _e('Sliders Created','smooth-slider'); ?></h2>
|
8 |
<?php
|
9 |
if (isset($_POST['remove_posts_slider'])) {
|
10 |
+
$nonce = $_POST['SSliderIP'];
|
11 |
+
if ( ! wp_verify_nonce( $nonce, 'SSliderNonce' ) ) :
|
12 |
+
// This nonce is not valid.
|
13 |
+
die( 'You are not authorized to remove slides!' );
|
14 |
+
else :
|
15 |
if (isset($_POST['slider_posts']) ) {
|
16 |
global $wpdb, $table_prefix;
|
17 |
$table_name = $table_prefix.SLIDER_TABLE;
|
18 |
+
$current_slider = isset($_POST['current_slider_id'])?sanitize_text_field( $_POST['current_slider_id'] ):'';
|
19 |
$current_slider = intval($current_slider);
|
20 |
foreach ( $_POST['slider_posts'] as $post_id=>$val ) {
|
21 |
+
$post_id=intval( sanitize_text_field($post_id) );
|
22 |
$wpdb->query(
|
23 |
$wpdb->prepare(
|
24 |
"
|
35 |
if ($_POST['remove_all'] == __('Remove All at Once','smooth-slider')) {
|
36 |
global $wpdb, $table_prefix;
|
37 |
$table_name = $table_prefix.SLIDER_TABLE;
|
38 |
+
$current_slider = isset($_POST['current_slider_id'])?sanitize_text_field( $_POST['current_slider_id'] ):'';
|
39 |
$current_slider = intval($current_slider);
|
40 |
if(is_slider_on_slider_table($current_slider)) {
|
41 |
$wpdb->delete( $table_name, array( 'slider_id' => $current_slider ), array( '%d' ) );
|
44 |
}
|
45 |
if (isset ($_POST['remove_all'])) {
|
46 |
if ($_POST['remove_all'] == __('Delete Slider','smooth-slider')) {
|
47 |
+
$slider_id = isset($_POST['current_slider_id'])?sanitize_text_field( $_POST['current_slider_id'] ):'';
|
48 |
+
$slider_id = intval($slider_id);
|
49 |
|
50 |
global $wpdb, $table_prefix;
|
51 |
$slider_table = $table_prefix.SLIDER_TABLE;
|
61 |
$wpdb->delete( $slider_postmeta, array( 'slider_id' => $slider_id ), array( '%d' ) );
|
62 |
}
|
63 |
}
|
64 |
+
}
|
65 |
+
endif;
|
66 |
}
|
67 |
if (isset($_POST['create_new_slider'])) {
|
68 |
+
$nonce = $_POST['SSliderIP'];
|
69 |
+
if ( ! wp_verify_nonce( $nonce, 'SSliderNonce' ) ) :
|
70 |
+
// This nonce is not valid.
|
71 |
+
die( 'You are not authorized to create new slider!' );
|
72 |
+
else :
|
73 |
$slider_name = sanitize_text_field( $_POST['new_slider_name'] );
|
74 |
global $wpdb,$table_prefix;
|
75 |
$slider_meta = $table_prefix.SLIDER_META;
|
81 |
$slider_name
|
82 |
)
|
83 |
);
|
84 |
+
endif;
|
85 |
}
|
86 |
if (isset($_POST['reorder_posts_slider'])) {
|
87 |
+
$nonce = $_POST['SSliderIP'];
|
88 |
+
if ( ! wp_verify_nonce( $nonce, 'SSliderNonce' ) ) :
|
89 |
+
// This nonce is not valid.
|
90 |
+
die( 'You are not authorized to reorder slides!' );
|
91 |
+
else :
|
92 |
$i=1;
|
93 |
global $wpdb, $table_prefix;
|
94 |
$table_name = $table_prefix.SLIDER_TABLE;
|
95 |
foreach ($_POST['order'] as $slide_order) {
|
96 |
+
$slide_order = intval( sanitize_text_field($slide_order) );
|
97 |
$wpdb->update(
|
98 |
$table_name,
|
99 |
array(
|
107 |
);
|
108 |
$i++;
|
109 |
}
|
110 |
+
endif;
|
111 |
}
|
112 |
/*Added for rename slider-2.6-start*/
|
113 |
if ((isset ($_POST['rename_slider'])) and ($_POST['rename_slider'] == __('Rename','smooth-slider'))) {
|
114 |
+
$nonce = $_POST['SSliderIP'];
|
115 |
+
if ( ! wp_verify_nonce( $nonce, 'SSliderNonce' ) ) :
|
116 |
+
// This nonce is not valid.
|
117 |
+
die( 'You are not authorized to rename slider!' );
|
118 |
+
else :
|
119 |
$slider_name = sanitize_text_field( $_POST['rename_slider_to'] );
|
120 |
+
$slider_id = isset($_POST['current_slider_id'])?sanitize_text_field( $_POST['current_slider_id'] ):'';
|
121 |
$slider_id = intval($slider_id);
|
122 |
if( !empty($slider_name) ) {
|
123 |
global $wpdb,$table_prefix;
|
134 |
array( '%d' )
|
135 |
);
|
136 |
}
|
137 |
+
endif;
|
138 |
}
|
139 |
/*Added for rename slider-2.6-end*/
|
140 |
|
141 |
/* Added for upload media save-2.6 */
|
142 |
if ( isset($_POST['addSave']) and ($_POST['addSave']=='Save') ) {
|
143 |
+
$nonce = $_POST['SSliderIP'];
|
144 |
+
if ( ! wp_verify_nonce( $nonce, 'SSliderNonce' ) ) :
|
145 |
+
// This nonce is not valid.
|
146 |
+
die( 'You are not authorized to upload media files!' );
|
147 |
+
else :
|
148 |
$images=(isset($_POST['imgID']))?$_POST['imgID']:array();
|
149 |
+
$slider_id = isset($_POST['current_slider_id'])?sanitize_text_field($_POST['current_slider_id']):'';
|
150 |
$slider_id = intval($slider_id);
|
151 |
$ids=array_reverse($images);
|
152 |
global $wpdb,$table_prefix;
|
153 |
foreach($ids as $id){
|
154 |
+
$id = intval($id);
|
155 |
+
$title=(isset($_POST['title'][$id]))?sanitize_title($_POST['title'][$id]):'';
|
156 |
+
$desc=(isset($_POST['desc'][$id]))?wp_filter_post_kses($_POST['desc'][$id]):'';
|
157 |
$link=(isset($_POST['link'][$id]))?sanitize_text_field($_POST['link'][$id]):'';
|
158 |
$nolink=(isset($_POST['nolink'][$id]))?sanitize_text_field($_POST['nolink'][$id]):'';
|
159 |
$attachment = array(
|
179 |
);
|
180 |
}
|
181 |
}
|
182 |
+
endif;
|
183 |
}
|
184 |
/* upload media end 2.6 */
|
185 |
?>
|
218 |
</div>
|
219 |
<input type="hidden" name="current_slider_id" value="<?php echo $slider['slider_id'];?>" />
|
220 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
221 |
+
<input type="hidden" name="SSliderIP" id="SSliderIP" value="<?php echo wp_create_nonce('SSliderNonce');?>" />
|
222 |
</form>
|
223 |
</div>
|
224 |
<!-- Add bulk images end 2.6-->
|
273 |
?>
|
274 |
</tbody></table>
|
275 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
276 |
+
<input type="hidden" name="SSliderIP" id="SSliderIP" value="<?php echo wp_create_nonce('SSliderNonce');?>" />
|
277 |
</form>
|
278 |
|
279 |
|
314 |
?>
|
315 |
</div>
|
316 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
317 |
+
<input type="hidden" name="SSliderIP" id="SSliderIP" value="<?php echo wp_create_nonce('SSliderNonce');?>" />
|
318 |
</form>
|
319 |
<!-- Added for rename slider -start -->
|
320 |
<h3 class="sub-heading" style="margin:40px 0px 5px 0;"><?php _e('Rename Slider','smooth-slider'); ?></h3>
|
330 |
|
331 |
<input type="hidden" name="active_tab" class="smooth_activetab" value="0" />
|
332 |
<input type="hidden" name="smooth_slider_options[reviewme]" id="smooth_reviewme" value="<?php echo $smooth_slider['reviewme']; ?>" />
|
333 |
+
<input type="hidden" name="SSliderIP" id="SSliderIP" value="<?php echo wp_create_nonce('SSliderNonce');?>" />
|
334 |
|
335 |
</form>
|
336 |
|
364 |
<input name="new_slider_name" class="regular-text code" value="" style="clear:both;" />
|
365 |
|
366 |
<div class="submit"><input type="submit" value="<?php _e('Create New','smooth-slider'); ?>" name="create_new" /></div>
|
367 |
+
<input type="hidden" name="SSliderIP" id="SSliderIP" value="<?php echo wp_create_nonce('SSliderNonce');?>" />
|
368 |
</form>
|
369 |
</div>
|
370 |
<?php }?>
|
378 |
<h3 class="hndle"><span><?php _e('About this Plugin:','smooth-slider'); ?></span></h3>
|
379 |
<div class="inside">
|
380 |
<ul>
|
381 |
+
<li><a href="https://slidervilla.com//smooth-slider" title="<?php _e('Smooth Slider Homepage','smooth-slider'); ?>" ><?php _e('Plugin Homepage','smooth-slider'); ?></a></li>
|
382 |
<li><a href="http://wordpress.org/support/plugin/smooth-slider" title="<?php _e('Support Forum for Smooth Slider','smooth-slider'); ?>
|
383 |
" ><?php _e('Support Forum','smooth-slider'); ?></a></li>
|
384 |
+
<li><a href="https://slidervilla.com//about-us/" title="<?php _e('Smooth Slider Author Page','smooth-slider'); ?>" ><?php _e('About the Author','smooth-slider'); ?></a></li>
|
385 |
<li><a href="http://www.clickonf5.org/go/smooth-slider/" title="<?php _e('Donate if you liked the plugin and support in enhancing Smooth Slider and creating new plugins','smooth-slider'); ?>" ><?php _e('Donate with Paypal','smooth-slider'); ?></a></li>
|
386 |
<li><strong>Current Version: <?php echo SMOOTH_SLIDER_VER;?></strong></li>
|
387 |
</ul>
|
392 |
|
393 |
<div class="inside">
|
394 |
<div style="margin:10px auto;">
|
395 |
+
<a href="https://slidervilla.com/" title="Premium WordPress Slider Plugins" target="_blank"><img src="<?php echo smooth_slider_plugin_url('images/banner-premium.png');?>" alt="Premium WordPress Slider Plugins" width="100%" /></a>
|
396 |
</div>
|
397 |
</div></div>
|
398 |
|
slider_versions/smooth_1.php
CHANGED
@@ -255,7 +255,7 @@ if ( is_admin() ){ // admin actions
|
|
255 |
if ( isset($_GET['page']) && ('smooth-slider-admin' == $_GET['page'] or 'smooth-slider-settings' == $_GET['page'])) {
|
256 |
$smooth_slider_curr=get_option('smooth_slider_options');
|
257 |
$active_tab=(isset($smooth_slider_curr['active_tab']))?$smooth_slider_curr['active_tab']:0;
|
258 |
-
if ( isset($_GET['page']) && ('smooth-slider-admin' == $_GET['page']) ){ if(isset($_POST['active_tab']) ) $active_tab
|
259 |
if(empty($active_tab)){$active_tab=0;}
|
260 |
?>
|
261 |
<script type="text/javascript">
|
255 |
if ( isset($_GET['page']) && ('smooth-slider-admin' == $_GET['page'] or 'smooth-slider-settings' == $_GET['page'])) {
|
256 |
$smooth_slider_curr=get_option('smooth_slider_options');
|
257 |
$active_tab=(isset($smooth_slider_curr['active_tab']))?$smooth_slider_curr['active_tab']:0;
|
258 |
+
if ( isset($_GET['page']) && ('smooth-slider-admin' == $_GET['page']) ){ if(isset($_POST['active_tab']) ) $active_tab=sanitize_text_field($_POST['active_tab']);else $active_tab = 0;}
|
259 |
if(empty($active_tab)){$active_tab=0;}
|
260 |
?>
|
261 |
<script type="text/javascript">
|
smooth-slider.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Smooth Slider
|
4 |
-
Plugin URI:
|
5 |
Description: Smooth slider adds a responsive featured content on image slider using shortcode, widget and template tags. Create and embed featured content slider, recent post slider, category slider in less than 60 seconds.
|
6 |
-
Version: 2.8.
|
7 |
Author: SliderVilla
|
8 |
Text Domain: smooth-slider
|
9 |
-
Author URI:
|
10 |
Wordpress version supported: 3.5 and above
|
11 |
*/
|
12 |
|
13 |
-
/* Copyright 2009-
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
@@ -26,17 +26,17 @@ Wordpress version supported: 3.5 and above
|
|
26 |
along with this program; if not, write to the Free Software
|
27 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
28 |
*/
|
29 |
-
//Please visit Plugin page
|
30 |
//on activation
|
31 |
//defined global variables and constants here
|
32 |
global $smooth_slider,$default_slider,$smooth_db_version,$default_smooth_slider_settings;
|
33 |
$smooth_slider = get_option('smooth_slider_options');
|
34 |
-
$smooth_db_version='2.8.
|
35 |
define('SLIDER_TABLE','smooth_slider'); //Slider TABLE NAME
|
36 |
define('PREV_SLIDER_TABLE','slider'); //Slider TABLE NAME
|
37 |
define('SLIDER_META','smooth_slider_meta'); //Meta TABLE NAME
|
38 |
define('SLIDER_POST_META','smooth_slider_postmeta'); //Meta TABLE NAME
|
39 |
-
define("SMOOTH_SLIDER_VER","2.8.
|
40 |
if ( ! defined( 'SMOOTH_SLIDER_PLUGIN_BASENAME' ) )
|
41 |
define( 'SMOOTH_SLIDER_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
42 |
if ( ! defined( 'SMOOTH_SLIDER_CSS_DIR' ) ){
|
@@ -395,7 +395,7 @@ function remove_from_slider($post_id) {
|
|
395 |
if (!wp_verify_nonce($_POST['sldr-verify'], 'SmoothSlider'))
|
396 |
return $post_id;
|
397 |
|
398 |
-
|
399 |
$wpdb->delete( $table_name, array( 'post_id' => $post_id ), array( '%d' ) );
|
400 |
}
|
401 |
|
@@ -524,7 +524,7 @@ function add_to_slider_checkbox() {
|
|
524 |
/* Post Meta Box Style */
|
525 |
wp_enqueue_style( 'smooth-meta-box', smooth_slider_plugin_url( 'css/smooth-meta-box.css' ), false, SMOOTH_SLIDER_VER, 'all');
|
526 |
wp_enqueue_script( 'jquery-ui-datepicker', false,array('jquery','jQuery-ui-core'),SMOOTH_SLIDER_VER, true);
|
527 |
-
wp_enqueue_style('jquery-style', '
|
528 |
$dtpicker = smooth_dateformat_PHP_to_jQueryUI($wpDateFormat);
|
529 |
?>
|
530 |
<?php /* start tab 2.6 */ ?>
|
@@ -654,7 +654,7 @@ function add_to_slider_checkbox() {
|
|
654 |
?>
|
655 |
</select> </td></tr>
|
656 |
|
657 |
-
|
658 |
<tr valign="top">
|
659 |
<th scope="row"><label for="sslider_thumbnail"><?php _e('Custom Thumbnail Image(url)','smooth-slider'); ?></label></th>
|
660 |
<td><input type="text" name="sslider_thumbnail" class="sslider_thumbnail" value="<?php echo $sslider_thumbnail;?>" size="50" />
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Smooth Slider
|
4 |
+
Plugin URI: https://slidervilla.com//smooth-slider/
|
5 |
Description: Smooth slider adds a responsive featured content on image slider using shortcode, widget and template tags. Create and embed featured content slider, recent post slider, category slider in less than 60 seconds.
|
6 |
+
Version: 2.8.8
|
7 |
Author: SliderVilla
|
8 |
Text Domain: smooth-slider
|
9 |
+
Author URI: https://slidervilla.com//
|
10 |
Wordpress version supported: 3.5 and above
|
11 |
*/
|
12 |
|
13 |
+
/* Copyright 2009-2018 SliderVilla (email : support@slidervilla.com)
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
26 |
along with this program; if not, write to the Free Software
|
27 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
28 |
*/
|
29 |
+
//Please visit Plugin page https://slidervilla.com//smooth-slider/ for Changelog
|
30 |
//on activation
|
31 |
//defined global variables and constants here
|
32 |
global $smooth_slider,$default_slider,$smooth_db_version,$default_smooth_slider_settings;
|
33 |
$smooth_slider = get_option('smooth_slider_options');
|
34 |
+
$smooth_db_version='2.8.8'; //current version of smooth slider database
|
35 |
define('SLIDER_TABLE','smooth_slider'); //Slider TABLE NAME
|
36 |
define('PREV_SLIDER_TABLE','slider'); //Slider TABLE NAME
|
37 |
define('SLIDER_META','smooth_slider_meta'); //Meta TABLE NAME
|
38 |
define('SLIDER_POST_META','smooth_slider_postmeta'); //Meta TABLE NAME
|
39 |
+
define("SMOOTH_SLIDER_VER","2.8.8",false);//Current Version of Smooth Slider
|
40 |
if ( ! defined( 'SMOOTH_SLIDER_PLUGIN_BASENAME' ) )
|
41 |
define( 'SMOOTH_SLIDER_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
42 |
if ( ! defined( 'SMOOTH_SLIDER_CSS_DIR' ) ){
|
395 |
if (!wp_verify_nonce($_POST['sldr-verify'], 'SmoothSlider'))
|
396 |
return $post_id;
|
397 |
|
398 |
+
if(empty($_POST['smooth-slider']) and is_post_on_any_slider($post_id)) {
|
399 |
$wpdb->delete( $table_name, array( 'post_id' => $post_id ), array( '%d' ) );
|
400 |
}
|
401 |
|
524 |
/* Post Meta Box Style */
|
525 |
wp_enqueue_style( 'smooth-meta-box', smooth_slider_plugin_url( 'css/smooth-meta-box.css' ), false, SMOOTH_SLIDER_VER, 'all');
|
526 |
wp_enqueue_script( 'jquery-ui-datepicker', false,array('jquery','jQuery-ui-core'),SMOOTH_SLIDER_VER, true);
|
527 |
+
wp_enqueue_style('jquery-style', smooth_slider_plugin_url( 'css/jqueryui/1.8.2/themes/smoothness/jquery-ui.css') );
|
528 |
$dtpicker = smooth_dateformat_PHP_to_jQueryUI($wpDateFormat);
|
529 |
?>
|
530 |
<?php /* start tab 2.6 */ ?>
|
654 |
?>
|
655 |
</select> </td></tr>
|
656 |
|
657 |
+
<input type="hidden" name="sldr-verify" id="sldr-verify" value="<?php echo wp_create_nonce('SmoothSlider');?>" />
|
658 |
<tr valign="top">
|
659 |
<th scope="row"><label for="sslider_thumbnail"><?php _e('Custom Thumbnail Image(url)','smooth-slider'); ?></label></th>
|
660 |
<td><input type="text" name="sslider_thumbnail" class="sslider_thumbnail" value="<?php echo $sslider_thumbnail;?>" size="50" />
|