Commit bde80a8f74c48108fc0eb22383d369d72133e778
1 parent
752c72a7
+ Модальные окна
Showing
11 changed files
with
926 additions
and
0 deletions
Show diff stats
1 | + | |
2 | + .modalBox { | |
3 | + background: #fff; | |
4 | + padding: 10px; | |
5 | + border-radius: 10px; | |
6 | + -moz-border-radius: 10px; | |
7 | + -o-border-radius: 10px; | |
8 | + -webkit-border-radius: 10px; | |
9 | + } | |
10 | + | |
11 | + .modalBox .content { | |
12 | + overflow-y: auto; | |
13 | + display: block; | |
14 | + } | |
15 | + | |
16 | + .modalBox .close { | |
17 | + display: block; | |
18 | + position: absolute; | |
19 | + top: -16px; | |
20 | + right: -15px; | |
21 | + width: 12px; | |
22 | + height: 12px; | |
23 | + padding: 8px; | |
24 | + border: 2px solid #fff; | |
25 | + cursor: pointer; | |
26 | + background: #000; | |
27 | + text-align: center; | |
28 | + font-size: 12px; | |
29 | + line-height: 12px; | |
30 | + color: #fff; | |
31 | + text-decoration: none; | |
32 | + font-weight: bold; | |
33 | + | |
34 | + border-radius: 50%; | |
35 | + -moz-border-radius: 50%; | |
36 | + -o-border-radius: 50%; | |
37 | + -webkit-border-radius: 50%; | |
38 | + } | |
39 | + | |
40 | + .modalBox, | |
41 | + .modalBox .close { | |
42 | + box-shadow: 0 0 5px 1px #c1c1c1; | |
43 | + -moz-box-shadow: 0 0 5px 1px #c1c1c1; | |
44 | + -o-box-shadow: 0 0 5px 1px #c1c1c1; | |
45 | + -webkit-box-shadow: 0 0 5px 1px #c1c1c1; | |
46 | + } | |
47 | + | |
48 | + .modalBox .close:hover { | |
49 | + background: #606060; | |
50 | + } | |
51 | + | |
52 | + .modalBoxWindow { | |
53 | + display: none; | |
54 | + } | |
55 | + | |
56 | +/* | |
57 | + =============== | |
58 | + ==== ALERT ==== | |
59 | + =============== | |
60 | +*/ | |
61 | + | |
62 | + .alert { | |
63 | + min-width: 250px; | |
64 | + padding: 8px; | |
65 | + margin: 5px 0; | |
66 | + } | |
67 | + | |
68 | + .alert .info { | |
69 | + height: 130px; | |
70 | + padding: 0 10px; | |
71 | + } | |
72 | + | |
73 | + .alert > div { | |
74 | + display: table-cell; | |
75 | + vertical-align: middle; | |
76 | + } | |
77 | + | |
78 | + .alert .pic { | |
79 | + width: 128px; | |
80 | + height: 128px; | |
81 | + background-repeat: none; | |
82 | + background-position: center center; | |
83 | + background-repeat: no-repeat; | |
84 | + background-size: cover; | |
85 | + } | |
86 | + | |
87 | + .alert.success .pic { | |
88 | + background-image: url(./img/success.png); | |
89 | + } | |
90 | + | |
91 | + .alert.warning .pic { | |
92 | + background-image: url(./img/warning.png); | |
93 | + } | |
94 | + | |
95 | + .alert.error .pic { | |
96 | + background-image: url(./img/error.png); | |
97 | + } | |
98 | + | |
99 | + .alert.send .pic { | |
100 | + background-image: url(./img/send.png); | |
101 | + } | |
102 | + | |
103 | + .alert.huck .pic { | |
104 | + background-image: url(./img/huck.png); | |
105 | + } | |
106 | + | |
107 | + .alert.robot .pic { | |
108 | + background-image: url(./img/robot.png); | |
109 | + } | |
110 | + | |
111 | + .alert.wait .pic { | |
112 | + width: 113px; | |
113 | + height: 128px; | |
114 | + background-image: url(./img/wait.png); | |
115 | + } | |
116 | + | |
117 | + .alert.SomethingWrong .pic { | |
118 | + background-image: url(./img/something-wrong.jpg); | |
119 | + } | |
120 | + | |
0 | 121 | \ No newline at end of file | ... | ... |
1 | + | |
2 | + .modalBox { | |
3 | + background: #fff; | |
4 | + padding: 10px; | |
5 | + border-radius: 10px; | |
6 | + -moz-border-radius: 10px; | |
7 | + -o-border-radius: 10px; | |
8 | + -webkit-border-radius: 10px; | |
9 | + } | |
10 | + | |
11 | + .modalBox .content { | |
12 | + overflow-y: auto; | |
13 | + display: table; | |
14 | + } | |
15 | + | |
16 | + .modalBox .close { | |
17 | + display: block; | |
18 | + position: absolute; | |
19 | + top: -16px; | |
20 | + right: -15px; | |
21 | + width: 12px; | |
22 | + height: 12px; | |
23 | + padding: 8px; | |
24 | + border: 2px solid #fff; | |
25 | + cursor: pointer; | |
26 | + background: #000; | |
27 | + text-align: center; | |
28 | + font-size: 12px; | |
29 | + line-height: 12px; | |
30 | + color: #fff; | |
31 | + text-decoration: none; | |
32 | + font-weight: bold; | |
33 | + | |
34 | + border-radius: 50%; | |
35 | + -moz-border-radius: 50%; | |
36 | + -o-border-radius: 50%; | |
37 | + -webkit-border-radius: 50%; | |
38 | + } | |
39 | + | |
40 | + .modalBox, | |
41 | + .modalBox .close { | |
42 | + box-shadow: 0 0 5px 1px #c1c1c1; | |
43 | + -moz-box-shadow: 0 0 5px 1px #c1c1c1; | |
44 | + -o-box-shadow: 0 0 5px 1px #c1c1c1; | |
45 | + -webkit-box-shadow: 0 0 5px 1px #c1c1c1; | |
46 | + } | |
47 | + | |
48 | + .modalBox .close:hover { | |
49 | + background: #606060; | |
50 | + } | |
51 | + | |
52 | + .modalBoxWindow { | |
53 | + display: none; | |
54 | + } | |
55 | + | |
56 | +/* | |
57 | + =============== | |
58 | + ==== ALERT ==== | |
59 | + =============== | |
60 | +*/ | |
61 | + | |
62 | + .alert { | |
63 | + min-width: 250px; | |
64 | + padding: 8px; | |
65 | + margin: 5px 0; | |
66 | + } | |
67 | + | |
68 | + .alert .info { | |
69 | + height: 130px; | |
70 | + padding: 0 10px; | |
71 | + } | |
72 | + | |
73 | + .alert > div { | |
74 | + display: table-cell; | |
75 | + vertical-align: middle; | |
76 | + } | |
77 | + | |
78 | + .alert .pic { | |
79 | + width: 128px; | |
80 | + height: 128px; | |
81 | + background-repeat: none; | |
82 | + background-position: center center; | |
83 | + background-repeat: no-repeat; | |
84 | + background-size: cover; | |
85 | + } | |
86 | + | |
87 | + .alert.success .pic { | |
88 | + background-image: url(./img/success.png); | |
89 | + } | |
90 | + | |
91 | + .alert.warning .pic { | |
92 | + background-image: url(./img/warning.png); | |
93 | + } | |
94 | + | |
95 | + .alert.error .pic { | |
96 | + background-image: url(./img/error.png); | |
97 | + } | |
98 | + | |
99 | + .alert.send .pic { | |
100 | + background-image: url(./img/send.png); | |
101 | + } | |
102 | + | |
103 | + .alert.huck .pic { | |
104 | + background-image: url(./img/huck.png); | |
105 | + } | |
106 | + | |
107 | + .alert.robot .pic { | |
108 | + background-image: url(./img/robot.png); | |
109 | + } | |
110 | + | |
111 | + .alert.wait .pic { | |
112 | + width: 113px; | |
113 | + height: 128px; | |
114 | + background-image: url(./img/wait.png); | |
115 | + } | |
116 | + | |
117 | + .alert.SomethingWrong .pic { | |
118 | + background-image: url(./img/something-wrong.jpg); | |
119 | + } | |
120 | + | |
0 | 121 | \ No newline at end of file | ... | ... |
10.1 KB
8.98 KB
1 | +/*=================================================================================================================== | |
2 | +* @name: bPopup | |
3 | +* @type: jQuery | |
4 | +* @author: (c) Bjoern Klinggaard - @bklinggaard | |
5 | +* @demo: http://dinbror.dk/bpopup | |
6 | +* @version: 0.10.0 | |
7 | +* @requires jQuery 1.4.3 | |
8 | +*==================================================================================================================*/ | |
9 | +;(function($) { | |
10 | +'use strict'; | |
11 | +$.fn.bPopup = function(options, callback) { | |
12 | +if ($.isFunction(options)) { | |
13 | +callback = options; | |
14 | +options = null; | |
15 | +} | |
16 | +// OPTIONS | |
17 | +var o = $.extend({}, $.fn.bPopup.defaults, options); | |
18 | +// HIDE SCROLLBAR? | |
19 | +if (!o.scrollBar) | |
20 | +$('html').css('overflow', 'hidden'); | |
21 | +// VARIABLES | |
22 | +var $popup = this | |
23 | +, d = $(document) | |
24 | +, w = window | |
25 | +, $w = $(w) | |
26 | +, wH = windowHeight() | |
27 | +, wW = windowWidth() | |
28 | +, prefix = '__b-popup' | |
29 | +, isIOS6X = (/OS 6(_\d)+/i).test(navigator.userAgent) // Used for a temporary fix for ios6 timer bug when using zoom/scroll | |
30 | +, buffer = 200 | |
31 | +, popups = 0 | |
32 | +, id | |
33 | +, inside | |
34 | +, fixedVPos | |
35 | +, fixedHPos | |
36 | +, fixedPosStyle | |
37 | +, vPos | |
38 | +, hPos | |
39 | +, height | |
40 | +, width | |
41 | +, debounce | |
42 | +, autoCloseTO | |
43 | +; | |
44 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
45 | +// PUBLIC FUNCTION - call it: $(element).bPopup().close(); | |
46 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
47 | +$popup.close = function() { | |
48 | +close(); | |
49 | +}; | |
50 | +$popup.reposition = function(animateSpeed) { | |
51 | +reposition(animateSpeed); | |
52 | +}; | |
53 | +return $popup.each(function() { | |
54 | +if ($(this).data('bPopup')) return; //POPUP already exists? | |
55 | +init(); | |
56 | +}); | |
57 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
58 | +// HELPER FUNCTIONS - PRIVATE | |
59 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
60 | +function init() { | |
61 | +triggerCall(o.onOpen); | |
62 | +popups = ($w.data('bPopup') || 0) + 1, id = prefix + popups + '__',fixedVPos = o.position[1] !== 'auto', fixedHPos = o.position[0] !== 'auto', fixedPosStyle = o.positionStyle === 'fixed', height = $popup.outerHeight(true), width = $popup.outerWidth(true); | |
63 | +o.loadUrl ? createContent() : open(); | |
64 | +}; | |
65 | +function createContent() { | |
66 | +o.contentContainer = $(o.contentContainer || $popup); | |
67 | +switch (o.content) { | |
68 | +case ('iframe'): | |
69 | +var iframe = $('<iframe class="b-iframe" ' + o.iframeAttr +'></iframe>'); | |
70 | +iframe.appendTo(o.contentContainer); | |
71 | +height = $popup.outerHeight(true); | |
72 | +width = $popup.outerWidth(true); | |
73 | +open(); | |
74 | +iframe.attr('src', o.loadUrl); // setting iframe src after open due IE9 bug | |
75 | +triggerCall(o.loadCallback); | |
76 | +break; | |
77 | +case ('image'): | |
78 | +open(); | |
79 | +$('<img />') | |
80 | +.load(function() { | |
81 | +triggerCall(o.loadCallback); | |
82 | +recenter($(this)); | |
83 | +}).attr('src', o.loadUrl).hide().appendTo(o.contentContainer); | |
84 | +break; | |
85 | +default: | |
86 | +open(); | |
87 | +$('<div class="b-ajax-wrapper"></div>') | |
88 | +.load(o.loadUrl, o.loadData, function(response, status, xhr) { | |
89 | +triggerCall(o.loadCallback, status); | |
90 | +recenter($(this)); | |
91 | +}).hide().appendTo(o.contentContainer); | |
92 | +break; | |
93 | +} | |
94 | +}; | |
95 | +function open(){ | |
96 | +// MODAL OVERLAY | |
97 | +if (o.modal) { | |
98 | +$('<div class="b-modal '+id+'"></div>') | |
99 | +.css({backgroundColor: o.modalColor, position: 'fixed', top: 0, right:0, bottom:0, left: 0, opacity: 0, zIndex: o.zIndex + popups}) | |
100 | +.appendTo(o.appendTo) | |
101 | +.fadeTo(o.speed, o.opacity); | |
102 | +} | |
103 | +// POPUP | |
104 | +calcPosition(); | |
105 | +$popup | |
106 | +.data('bPopup', o).data('id',id) | |
107 | +.css({ | |
108 | +'left': o.transition == 'slideIn' || o.transition == 'slideBack' ? (o.transition == 'slideBack' ? d.scrollLeft() + wW : (hPos + width) *-1) : getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)) | |
109 | +, 'position': o.positionStyle || 'absolute' | |
110 | +, 'top': o.transition == 'slideDown' || o.transition == 'slideUp' ? (o.transition == 'slideUp' ? d.scrollTop() + wH : vPos + height * -1) : getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)) | |
111 | +, 'z-index': o.zIndex + popups + 1 | |
112 | +}).each(function() { | |
113 | +if(o.appending) { | |
114 | +$(this).appendTo(o.appendTo); | |
115 | +} | |
116 | +}); | |
117 | +doTransition(true); | |
118 | +}; | |
119 | +function close() { | |
120 | +if (o.modal) { | |
121 | +$('.b-modal.'+$popup.data('id')) | |
122 | +.fadeTo(o.speed, 0, function() { | |
123 | +$(this).remove(); | |
124 | +}); | |
125 | +} | |
126 | +// Clean up | |
127 | +unbindEvents(); | |
128 | +clearTimeout(autoCloseTO); | |
129 | +// Close trasition | |
130 | +doTransition(); | |
131 | +return false; // Prevent default | |
132 | +}; | |
133 | +function reposition(animateSpeed){ | |
134 | +wH = windowHeight(); | |
135 | +wW = windowWidth(); | |
136 | +inside = insideWindow(); | |
137 | +if(inside){ | |
138 | +clearTimeout(debounce); | |
139 | +debounce = setTimeout(function(){ | |
140 | +calcPosition(); | |
141 | +animateSpeed = animateSpeed || o.followSpeed; | |
142 | +$popup | |
143 | +.dequeue() | |
144 | +.each(function() { | |
145 | +if(fixedPosStyle) { | |
146 | +$(this).css({ 'left': hPos, 'top': vPos }); | |
147 | +} | |
148 | +else { | |
149 | +$(this).animate({ 'left': o.follow[0] ? getLeftPos(true) : 'auto', 'top': o.follow[1] ? getTopPos(true) : 'auto' }, animateSpeed, o.followEasing); | |
150 | +} | |
151 | +}); | |
152 | +}, 50); | |
153 | +} | |
154 | +}; | |
155 | +//Eksperimental | |
156 | +function recenter(content){ | |
157 | +var _width = content.width(), _height = content.height(), css = {}; | |
158 | +o.contentContainer.css({height:_height,width:_width}); | |
159 | +if (_height >= $popup.height()){ | |
160 | +css.height = $popup.height(); | |
161 | +} | |
162 | +if(_width >= $popup.width()){ | |
163 | +css.width = $popup.width(); | |
164 | +} | |
165 | +height = $popup.outerHeight(true) | |
166 | +, width = $popup.outerWidth(true); | |
167 | +calcPosition(); | |
168 | +o.contentContainer.css({height:'auto',width:'auto'}); | |
169 | +css.left = getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)), | |
170 | +css.top = getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)); | |
171 | +$popup | |
172 | +.animate( | |
173 | +css | |
174 | +, 250 | |
175 | +, function() { | |
176 | +content.show(); | |
177 | +inside = insideWindow(); | |
178 | +} | |
179 | +); | |
180 | +}; | |
181 | +function bindEvents() { | |
182 | +$w.data('bPopup', popups); | |
183 | +$popup.delegate('.bClose, .' + o.closeClass, 'click.'+id, close); // legacy, still supporting the close class bClose | |
184 | +if (o.modalClose) { | |
185 | +$('.b-modal.'+id).css('cursor', 'pointer').bind('click', close); | |
186 | +} | |
187 | +// Temporary disabling scroll/resize events on devices with IOS6+ | |
188 | +// due to a bug where events are dropped after pinch to zoom | |
189 | +if (!isIOS6X && (o.follow[0] || o.follow[1])) { | |
190 | +$w.bind('scroll.'+id, function() { | |
191 | +if(inside){ | |
192 | +$popup | |
193 | +.dequeue() | |
194 | +.animate({ 'left': o.follow[0] ? getLeftPos(!fixedPosStyle) : 'auto', 'top': o.follow[1] ? getTopPos(!fixedPosStyle) : 'auto' }, o.followSpeed, o.followEasing); | |
195 | +} | |
196 | +}).bind('resize.'+id, function() { | |
197 | +reposition(); | |
198 | +}); | |
199 | +} | |
200 | +if (o.escClose) { | |
201 | +d.bind('keydown.'+id, function(e) { | |
202 | +if (e.which == 27) { //escape | |
203 | +close(); | |
204 | +} | |
205 | +}); | |
206 | +} | |
207 | +}; | |
208 | +function unbindEvents() { | |
209 | +if (!o.scrollBar) { | |
210 | +$('html').css('overflow', 'auto'); | |
211 | +} | |
212 | +$('.b-modal.'+id).unbind('click'); | |
213 | +d.unbind('keydown.'+id); | |
214 | +$w.unbind('.'+id).data('bPopup', ($w.data('bPopup')-1 > 0) ? $w.data('bPopup')-1 : null); | |
215 | +$popup.undelegate('.bClose, .' + o.closeClass, 'click.'+id, close).data('bPopup', null); | |
216 | +}; | |
217 | +function doTransition(open) { | |
218 | +switch (open ? o.transition : o.transitionClose || o.transition) { | |
219 | +case "slideIn": | |
220 | +animate({ | |
221 | +left: open ? getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)) : d.scrollLeft() - (width || $popup.outerWidth(true)) - buffer | |
222 | +}); | |
223 | +break; | |
224 | +case "slideBack": | |
225 | +animate({ | |
226 | +left: open ? getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)) : d.scrollLeft() + wW + buffer | |
227 | +}); | |
228 | +break; | |
229 | +case "slideDown": | |
230 | +animate({ | |
231 | +top: open ? getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)) : d.scrollTop() - (height || $popup.outerHeight(true)) - buffer | |
232 | +}); | |
233 | +break; | |
234 | +case "slideUp": | |
235 | +animate({ | |
236 | +top: open ? getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)) : d.scrollTop() + wH + buffer | |
237 | +}); | |
238 | +break; | |
239 | +default: | |
240 | +//Hardtyping 1 and 0 to ensure opacity 1 and not 0.9999998 | |
241 | +$popup.stop().fadeTo(o.speed, open ? 1 : 0, function(){onCompleteCallback(open);}); | |
242 | +} | |
243 | +function animate(css){ | |
244 | +$popup | |
245 | +.css({display: 'block',opacity: 1}) | |
246 | +.animate(css, o.speed, o.easing, function(){ onCompleteCallback(open); }); | |
247 | +}; | |
248 | +}; | |
249 | +function onCompleteCallback(open){ | |
250 | +if(open){ | |
251 | +bindEvents(); | |
252 | +triggerCall(callback); | |
253 | +if(o.autoClose){ | |
254 | +autoCloseTO = setTimeout(close, o.autoClose); | |
255 | +} | |
256 | +} else { | |
257 | +$popup.hide(); | |
258 | +triggerCall(o.onClose); | |
259 | +if (o.loadUrl) { | |
260 | +o.contentContainer.empty(); | |
261 | +$popup.css({height: 'auto', width: 'auto'}); | |
262 | +} | |
263 | +} | |
264 | +}; | |
265 | +function getLeftPos(includeScroll){ | |
266 | +return includeScroll ? hPos + d.scrollLeft() : hPos; | |
267 | +}; | |
268 | +function getTopPos(includeScroll){ | |
269 | +return includeScroll ? vPos + d.scrollTop() : vPos; | |
270 | +}; | |
271 | +function triggerCall(func, arg) { | |
272 | +$.isFunction(func) && func.call($popup, arg); | |
273 | +}; | |
274 | +function calcPosition(){ | |
275 | +vPos = fixedVPos ? o.position[1] : Math.max(0, ((wH- $popup.outerHeight(true)) / 2) - o.amsl) | |
276 | +, hPos = fixedHPos ? o.position[0] : (wW - $popup.outerWidth(true)) / 2 | |
277 | +, inside = insideWindow(); | |
278 | +}; | |
279 | +function insideWindow(){ | |
280 | +return wH > $popup.outerHeight(true) && wW > $popup.outerWidth(true); | |
281 | +}; | |
282 | +function windowHeight(){ | |
283 | +return w.innerHeight || $w.height(); | |
284 | +}; | |
285 | +function windowWidth(){ | |
286 | +return w.innerWidth || $w.width(); | |
287 | +}; | |
288 | +}; | |
289 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
290 | +// DEFAULT VALUES | |
291 | +//////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
292 | +$.fn.bPopup.defaults = { | |
293 | +amsl: 50 | |
294 | +, appending: true | |
295 | +, appendTo: 'body' | |
296 | +, autoClose: false | |
297 | +, closeClass: 'b-close' | |
298 | +, content: 'ajax' // ajax, iframe or image | |
299 | +, contentContainer: false | |
300 | +, easing: 'swing' | |
301 | +, escClose: true | |
302 | +, follow: [true, true] // x, y | |
303 | +, followEasing: 'swing' | |
304 | +, followSpeed: 500 | |
305 | +, iframeAttr: 'scrolling="no" frameborder="0"' | |
306 | +, loadCallback: false | |
307 | +, loadData: false | |
308 | +, loadUrl: false | |
309 | +, modal: true | |
310 | +, modalClose: true | |
311 | +, modalColor: '#000' | |
312 | +, onClose: false | |
313 | +, onOpen: false | |
314 | +, opacity: 0.7 | |
315 | +, position: ['auto', 'auto'] // x, y, | |
316 | +, positionStyle: 'absolute'// absolute or fixed | |
317 | +, scrollBar: true | |
318 | +, speed: 250 // open & close speed | |
319 | +, transition: 'fadeIn' //transitions: fadeIn, slideDown, slideIn, slideBack | |
320 | +, transitionClose: false | |
321 | +, zIndex: 9997 // popup gets z-index 9999, modal overlay 9998 | |
322 | +}; | |
323 | +})(jQuery); | |
0 | 324 | \ No newline at end of file | ... | ... |
1 | +;(function($){'use strict';$.fn.bPopup=function(options,callback){if($.isFunction(options)){callback=options;options=null;} | |
2 | +var o=$.extend({},$.fn.bPopup.defaults,options);if(!o.scrollBar) | |
3 | +$('html').css('overflow','hidden');var $popup=this,d=$(document),w=window,$w=$(w),wH=windowHeight(),wW=windowWidth(),prefix='__b-popup',isIOS6X=(/OS 6(_\d)+/i).test(navigator.userAgent),buffer=200,popups=0,id,inside,fixedVPos,fixedHPos,fixedPosStyle,vPos,hPos,height,width,debounce,autoCloseTO;$popup.close=function(){close();};$popup.reposition=function(animateSpeed){reposition(animateSpeed);};return $popup.each(function(){if($(this).data('bPopup'))return;init();});function init(){triggerCall(o.onOpen);popups=($w.data('bPopup')||0)+1,id=prefix+popups+'__',fixedVPos=o.position[1]!=='auto',fixedHPos=o.position[0]!=='auto',fixedPosStyle=o.positionStyle==='fixed',height=$popup.outerHeight(true),width=$popup.outerWidth(true);o.loadUrl?createContent():open();};function createContent(){o.contentContainer=$(o.contentContainer||$popup);switch(o.content){case('iframe'):var iframe=$('<iframe class="b-iframe" '+o.iframeAttr+'></iframe>');iframe.appendTo(o.contentContainer);height=$popup.outerHeight(true);width=$popup.outerWidth(true);open();iframe.attr('src',o.loadUrl);triggerCall(o.loadCallback);break;case('image'):open();$('<img />').load(function(){triggerCall(o.loadCallback);recenter($(this));}).attr('src',o.loadUrl).hide().appendTo(o.contentContainer);break;default:open();$('<div class="b-ajax-wrapper"></div>').load(o.loadUrl,o.loadData,function(response,status,xhr){triggerCall(o.loadCallback,status);recenter($(this));}).hide().appendTo(o.contentContainer);break;}};function open(){if(o.modal){$('<div class="b-modal '+id+'"></div>').css({backgroundColor:o.modalColor,position:'fixed',top:0,right:0,bottom:0,left:0,opacity:0,zIndex:o.zIndex+popups}).appendTo(o.appendTo).fadeTo(o.speed,o.opacity);} | |
4 | +calcPosition();$popup.data('bPopup',o).data('id',id).css({'left':o.transition=='slideIn'||o.transition=='slideBack'?(o.transition=='slideBack'?d.scrollLeft()+wW:(hPos+width)*-1):getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)),'position':o.positionStyle||'absolute','top':o.transition=='slideDown'||o.transition=='slideUp'?(o.transition=='slideUp'?d.scrollTop()+wH:vPos+height*-1):getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)),'z-index':o.zIndex+popups+1}).each(function(){if(o.appending){$(this).appendTo(o.appendTo);}});doTransition(true);};function close(){if(o.modal){$('.b-modal.'+$popup.data('id')).fadeTo(o.speed,0,function(){$(this).remove();});} | |
5 | +unbindEvents();clearTimeout(autoCloseTO);doTransition();return false;};function reposition(animateSpeed){wH=windowHeight();wW=windowWidth();inside=insideWindow();if(inside){clearTimeout(debounce);debounce=setTimeout(function(){calcPosition();animateSpeed=animateSpeed||o.followSpeed;$popup.dequeue().each(function(){if(fixedPosStyle){$(this).css({'left':hPos,'top':vPos});} | |
6 | +else{$(this).animate({'left':o.follow[0]?getLeftPos(true):'auto','top':o.follow[1]?getTopPos(true):'auto'},animateSpeed,o.followEasing);}});},50);}};function recenter(content){var _width=content.width(),_height=content.height(),css={};o.contentContainer.css({height:_height,width:_width});if(_height>=$popup.height()){css.height=$popup.height();} | |
7 | +if(_width>=$popup.width()){css.width=$popup.width();} | |
8 | +height=$popup.outerHeight(true),width=$popup.outerWidth(true);calcPosition();o.contentContainer.css({height:'auto',width:'auto'});css.left=getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)),css.top=getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle));$popup.animate(css,250,function(){content.show();inside=insideWindow();});};function bindEvents(){$w.data('bPopup',popups);$popup.delegate('.bClose, .'+o.closeClass,'click.'+id,close);if(o.modalClose){$('.b-modal.'+id).css('cursor','pointer').bind('click',close);} | |
9 | +if(!isIOS6X&&(o.follow[0]||o.follow[1])){$w.bind('scroll.'+id,function(){if(inside){$popup.dequeue().animate({'left':o.follow[0]?getLeftPos(!fixedPosStyle):'auto','top':o.follow[1]?getTopPos(!fixedPosStyle):'auto'},o.followSpeed,o.followEasing);}}).bind('resize.'+id,function(){reposition();});} | |
10 | +if(o.escClose){d.bind('keydown.'+id,function(e){if(e.which==27){close();}});}};function unbindEvents(){if(!o.scrollBar){$('html').css('overflow','auto');} | |
11 | +$('.b-modal.'+id).unbind('click');d.unbind('keydown.'+id);$w.unbind('.'+id).data('bPopup',($w.data('bPopup')-1>0)?$w.data('bPopup')-1:null);$popup.undelegate('.bClose, .'+o.closeClass,'click.'+id,close).data('bPopup',null);};function doTransition(open){switch(open?o.transition:o.transitionClose||o.transition){case"slideIn":animate({left:open?getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)):d.scrollLeft()-(width||$popup.outerWidth(true))-buffer});break;case"slideBack":animate({left:open?getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)):d.scrollLeft()+wW+buffer});break;case"slideDown":animate({top:open?getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)):d.scrollTop()-(height||$popup.outerHeight(true))-buffer});break;case"slideUp":animate({top:open?getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)):d.scrollTop()+wH+buffer});break;default:$popup.stop().fadeTo(o.speed,open?1:0,function(){onCompleteCallback(open);});} | |
12 | +function animate(css){$popup.css({display:'block',opacity:1}).animate(css,o.speed,o.easing,function(){onCompleteCallback(open);});};};function onCompleteCallback(open){if(open){bindEvents();triggerCall(callback);if(o.autoClose){autoCloseTO=setTimeout(close,o.autoClose);}}else{$popup.hide();triggerCall(o.onClose);if(o.loadUrl){o.contentContainer.empty();$popup.css({height:'auto',width:'auto'});}}};function getLeftPos(includeScroll){return includeScroll?hPos+d.scrollLeft():hPos;};function getTopPos(includeScroll){return includeScroll?vPos+d.scrollTop():vPos;};function triggerCall(func,arg){$.isFunction(func)&&func.call($popup,arg);};function calcPosition(){vPos=fixedVPos?o.position[1]:Math.max(0,((wH-$popup.outerHeight(true))/2)-o.amsl),hPos=fixedHPos?o.position[0]:(wW-$popup.outerWidth(true))/2,inside=insideWindow();};function insideWindow(){return wH>$popup.outerHeight(true)&&wW>$popup.outerWidth(true);};function windowHeight(){return w.innerHeight||$w.height();};function windowWidth(){return w.innerWidth||$w.width();};};$.fn.bPopup.defaults={amsl:50,appending:true,appendTo:'body',autoClose:false,closeClass:'b-close',content:'ajax',contentContainer:false,easing:'swing',escClose:true,follow:[true,true],followEasing:'swing',followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:false,loadData:false,loadUrl:false,modal:true,modalClose:true,modalColor:'#000',onClose:false,onOpen:false,opacity:0.7,position:['auto','auto'],positionStyle:'absolute',scrollBar:true,speed:250,transition:'fadeIn',transitionClose:false,zIndex:9997};})(jQuery); | |
0 | 13 | \ No newline at end of file | ... | ... |
1 | +/* | |
2 | + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ | |
3 | + * | |
4 | + * Uses the built in easing capabilities added In jQuery 1.1 | |
5 | + * to offer multiple easing options | |
6 | + * | |
7 | + * TERMS OF USE - jQuery Easing | |
8 | + * | |
9 | + * Open source under the BSD License. | |
10 | + * | |
11 | + * Copyright © 2008 George McGinley Smith | |
12 | + * All rights reserved. | |
13 | + * | |
14 | + * Redistribution and use in source and binary forms, with or without modification, | |
15 | + * are permitted provided that the following conditions are met: | |
16 | + * | |
17 | + * Redistributions of source code must retain the above copyright notice, this list of | |
18 | + * conditions and the following disclaimer. | |
19 | + * Redistributions in binary form must reproduce the above copyright notice, this list | |
20 | + * of conditions and the following disclaimer in the documentation and/or other materials | |
21 | + * provided with the distribution. | |
22 | + * | |
23 | + * Neither the name of the author nor the names of contributors may be used to endorse | |
24 | + * or promote products derived from this software without specific prior written permission. | |
25 | + * | |
26 | + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | |
27 | + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
28 | + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
29 | + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
30 | + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | |
31 | + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |
32 | + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
33 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | |
34 | + * OF THE POSSIBILITY OF SUCH DAMAGE. | |
35 | + * | |
36 | +*/ | |
37 | + | |
38 | +// t: current time, b: begInnIng value, c: change In value, d: duration | |
39 | +jQuery.easing['jswing'] = jQuery.easing['swing']; | |
40 | + | |
41 | +jQuery.extend( jQuery.easing, | |
42 | +{ | |
43 | + def: 'easeOutQuad', | |
44 | + swing: function (x, t, b, c, d) { | |
45 | + //alert(jQuery.easing.default); | |
46 | + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); | |
47 | + }, | |
48 | + easeInQuad: function (x, t, b, c, d) { | |
49 | + return c*(t/=d)*t + b; | |
50 | + }, | |
51 | + easeOutQuad: function (x, t, b, c, d) { | |
52 | + return -c *(t/=d)*(t-2) + b; | |
53 | + }, | |
54 | + easeInOutQuad: function (x, t, b, c, d) { | |
55 | + if ((t/=d/2) < 1) return c/2*t*t + b; | |
56 | + return -c/2 * ((--t)*(t-2) - 1) + b; | |
57 | + }, | |
58 | + easeInCubic: function (x, t, b, c, d) { | |
59 | + return c*(t/=d)*t*t + b; | |
60 | + }, | |
61 | + easeOutCubic: function (x, t, b, c, d) { | |
62 | + return c*((t=t/d-1)*t*t + 1) + b; | |
63 | + }, | |
64 | + easeInOutCubic: function (x, t, b, c, d) { | |
65 | + if ((t/=d/2) < 1) return c/2*t*t*t + b; | |
66 | + return c/2*((t-=2)*t*t + 2) + b; | |
67 | + }, | |
68 | + easeInQuart: function (x, t, b, c, d) { | |
69 | + return c*(t/=d)*t*t*t + b; | |
70 | + }, | |
71 | + easeOutQuart: function (x, t, b, c, d) { | |
72 | + return -c * ((t=t/d-1)*t*t*t - 1) + b; | |
73 | + }, | |
74 | + easeInOutQuart: function (x, t, b, c, d) { | |
75 | + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; | |
76 | + return -c/2 * ((t-=2)*t*t*t - 2) + b; | |
77 | + }, | |
78 | + easeInQuint: function (x, t, b, c, d) { | |
79 | + return c*(t/=d)*t*t*t*t + b; | |
80 | + }, | |
81 | + easeOutQuint: function (x, t, b, c, d) { | |
82 | + return c*((t=t/d-1)*t*t*t*t + 1) + b; | |
83 | + }, | |
84 | + easeInOutQuint: function (x, t, b, c, d) { | |
85 | + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; | |
86 | + return c/2*((t-=2)*t*t*t*t + 2) + b; | |
87 | + }, | |
88 | + easeInSine: function (x, t, b, c, d) { | |
89 | + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; | |
90 | + }, | |
91 | + easeOutSine: function (x, t, b, c, d) { | |
92 | + return c * Math.sin(t/d * (Math.PI/2)) + b; | |
93 | + }, | |
94 | + easeInOutSine: function (x, t, b, c, d) { | |
95 | + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; | |
96 | + }, | |
97 | + easeInExpo: function (x, t, b, c, d) { | |
98 | + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; | |
99 | + }, | |
100 | + easeOutExpo: function (x, t, b, c, d) { | |
101 | + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; | |
102 | + }, | |
103 | + easeInOutExpo: function (x, t, b, c, d) { | |
104 | + if (t==0) return b; | |
105 | + if (t==d) return b+c; | |
106 | + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; | |
107 | + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; | |
108 | + }, | |
109 | + easeInCirc: function (x, t, b, c, d) { | |
110 | + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; | |
111 | + }, | |
112 | + easeOutCirc: function (x, t, b, c, d) { | |
113 | + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; | |
114 | + }, | |
115 | + easeInOutCirc: function (x, t, b, c, d) { | |
116 | + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; | |
117 | + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; | |
118 | + }, | |
119 | + easeInElastic: function (x, t, b, c, d) { | |
120 | + var s=1.70158;var p=0;var a=c; | |
121 | + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; | |
122 | + if (a < Math.abs(c)) { a=c; var s=p/4; } | |
123 | + else var s = p/(2*Math.PI) * Math.asin (c/a); | |
124 | + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; | |
125 | + }, | |
126 | + easeOutElastic: function (x, t, b, c, d) { | |
127 | + var s=1.70158;var p=0;var a=c; | |
128 | + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; | |
129 | + if (a < Math.abs(c)) { a=c; var s=p/4; } | |
130 | + else var s = p/(2*Math.PI) * Math.asin (c/a); | |
131 | + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; | |
132 | + }, | |
133 | + easeInOutElastic: function (x, t, b, c, d) { | |
134 | + var s=1.70158;var p=0;var a=c; | |
135 | + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); | |
136 | + if (a < Math.abs(c)) { a=c; var s=p/4; } | |
137 | + else var s = p/(2*Math.PI) * Math.asin (c/a); | |
138 | + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; | |
139 | + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; | |
140 | + }, | |
141 | + easeInBack: function (x, t, b, c, d, s) { | |
142 | + if (s == undefined) s = 1.70158; | |
143 | + return c*(t/=d)*t*((s+1)*t - s) + b; | |
144 | + }, | |
145 | + easeOutBack: function (x, t, b, c, d, s) { | |
146 | + if (s == undefined) s = 1.70158; | |
147 | + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; | |
148 | + }, | |
149 | + easeInOutBack: function (x, t, b, c, d, s) { | |
150 | + if (s == undefined) s = 1.70158; | |
151 | + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; | |
152 | + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; | |
153 | + }, | |
154 | + easeInBounce: function (x, t, b, c, d) { | |
155 | + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; | |
156 | + }, | |
157 | + easeOutBounce: function (x, t, b, c, d) { | |
158 | + if ((t/=d) < (1/2.75)) { | |
159 | + return c*(7.5625*t*t) + b; | |
160 | + } else if (t < (2/2.75)) { | |
161 | + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; | |
162 | + } else if (t < (2.5/2.75)) { | |
163 | + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; | |
164 | + } else { | |
165 | + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; | |
166 | + } | |
167 | + }, | |
168 | + easeInOutBounce: function (x, t, b, c, d) { | |
169 | + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; | |
170 | + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; | |
171 | + } | |
172 | +}); | |
173 | + | |
174 | +/* | |
175 | + * | |
176 | + * TERMS OF USE - EASING EQUATIONS | |
177 | + * | |
178 | + * Open source under the BSD License. | |
179 | + * | |
180 | + * Copyright © 2001 Robert Penner | |
181 | + * All rights reserved. | |
182 | + * | |
183 | + * Redistribution and use in source and binary forms, with or without modification, | |
184 | + * are permitted provided that the following conditions are met: | |
185 | + * | |
186 | + * Redistributions of source code must retain the above copyright notice, this list of | |
187 | + * conditions and the following disclaimer. | |
188 | + * Redistributions in binary form must reproduce the above copyright notice, this list | |
189 | + * of conditions and the following disclaimer in the documentation and/or other materials | |
190 | + * provided with the distribution. | |
191 | + * | |
192 | + * Neither the name of the author nor the names of contributors may be used to endorse | |
193 | + * or promote products derived from this software without specific prior written permission. | |
194 | + * | |
195 | + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | |
196 | + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
197 | + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
198 | + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
199 | + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | |
200 | + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |
201 | + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
202 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | |
203 | + * OF THE POSSIBILITY OF SUCH DAMAGE. | |
204 | + * | |
205 | + */ | |
0 | 206 | \ No newline at end of file | ... | ... |
1 | +;jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;} | |
2 | +else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;} | |
3 | +else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;} | |
4 | +else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}}); | |
0 | 5 | \ No newline at end of file | ... | ... |
1 | +(function(a) { | |
2 | + | |
3 | + var m = a("#popup"), n = a("#popup2"), d = 0; | |
4 | + | |
5 | + a(function() { | |
6 | + a(".small.special").on("open.bpopup",function() { | |
7 | + alert("I'm special") | |
8 | + }); | |
9 | + a("body").on("click",".small",function() { | |
10 | + var c = a(this).hasClass("pop1")? m : n , | |
11 | + h = a(".content"), | |
12 | + j = a(this); | |
13 | + if (a(this).hasClass("events")) | |
14 | + c.bPopup ({ | |
15 | + onOpen: function() { | |
16 | + alert("onOpen fired") | |
17 | + }, | |
18 | + onClose: function(){ | |
19 | + alert("onClose fired") | |
20 | + } | |
21 | + }, function(){ | |
22 | + alert("Callback fired") | |
23 | + }); | |
24 | + else if (a(this).hasClass("random")) { | |
25 | + var e = b(0, a(window).width() - 500), | |
26 | + p = b(a(document).scrollTop(), | |
27 | + a(document).scrollTop() + a(window).height() - 300), | |
28 | + k = 3 == b (0,4), | |
29 | + l = b(0,2), | |
30 | + f = "fadeIn", | |
31 | + g = 350; | |
32 | + 1 === l ? (f = "slideDown", g = 600) : 2 === l && (f = "slideIn", g = 500); | |
33 | + c.bPopup ({ | |
34 | + follow: k ? [!0, !0] : [!1, !1], | |
35 | + position: !k ? [e,p] : ["auto","auto"], | |
36 | + opacity: "0." + b(1, 9), positionStyle : 25 == b (0, 50) ? "fixed": "absolute", | |
37 | + modal: 0 == b(0, 10) ? !1: !0, | |
38 | + modalClose: 0 == b(0, 5) ? !1: !0, | |
39 | + modalColor: "hsl(" + b(0,360) + ",100%, 50%)", | |
40 | + transition: f, | |
41 | + speed: g | |
42 | + }) | |
43 | + } else a(this).hasClass("x-content") ? c.bPopup({ | |
44 | + onOpen: function(){ | |
45 | + h.html (j.data("bpopup") || {}) | |
46 | + }, | |
47 | + onClose: function() { | |
48 | + h.empty() | |
49 | + } | |
50 | + }) :a(this).hasClass("multi") ? ( | |
51 | + d++, | |
52 | + c = b(0,a(window).width()-500), | |
53 | + e = b(a(document).scrollTop(), a(document).scrollTop() + | |
54 | + a(window).height() - 300), | |
55 | + a('<div class="bMulti"><span class="button bClose close' + d + '"><span>X</span></span><p>' + d + '</p><a class="button small multi">Pop another up</a></div>'). bPopup({ | |
56 | + closeClass: "close" + d, | |
57 | + position: [c, e], | |
58 | + follow: [!1, !1], | |
59 | + onClose: function() { | |
60 | + d--; | |
61 | + a(this).remove() | |
62 | + } | |
63 | + }) | |
64 | + ) : c.bPopup (j.data("bpopup") || {} ) | |
65 | + }) | |
66 | + }); | |
67 | + var b = function(a, b) { | |
68 | + return ~~ (Math.random() * (b - a + 1) + a) | |
69 | + } | |
70 | +})(jQuery); | ... | ... |
1 | +;(function(a){var m=a("#popup"),n=a("#popup2"),d=0;a(function(){a(".small.special").on("open.bpopup",function(){alert("I'm special")});a("body").on("click",".small",function(){var c=a(this).hasClass("pop1")?m:n,h=a(".content"),j=a(this);if(a(this).hasClass("events")) | |
2 | +c.bPopup({onOpen:function(){alert("onOpen fired")},onClose:function(){alert("onClose fired")}},function(){alert("Callback fired")});else if(a(this).hasClass("random")){var e=b(0,a(window).width()-500),p=b(a(document).scrollTop(),a(document).scrollTop()+a(window).height()-300),k=3==b(0,4),l=b(0,2),f="fadeIn",g=350;1===l?(f="slideDown",g=600):2===l&&(f="slideIn",g=500);c.bPopup({follow:k?[!0,!0]:[!1,!1],position:!k?[e,p]:["auto","auto"],opacity:"0."+b(1,9),positionStyle:25==b(0,50)?"fixed":"absolute",modal:0==b(0,10)?!1:!0,modalClose:0==b(0,5)?!1:!0,modalColor:"hsl("+b(0,360)+",100%, 50%)",transition:f,speed:g})}else a(this).hasClass("x-content")?c.bPopup({onOpen:function(){h.html(j.data("bpopup")||{})},onClose:function(){h.empty()}}):a(this).hasClass("multi")?(d++,c=b(0,a(window).width()-500),e=b(a(document).scrollTop(),a(document).scrollTop()+ | |
3 | +a(window).height()-300),a('<div class="bMulti"><span class="button bClose close'+d+'"><span>X</span></span><p>'+d+'</p><a class="button small multi">Pop another up</a></div>').bPopup({closeClass:"close"+d,position:[c,e],follow:[!1,!1],onClose:function(){d--;a(this).remove()}})):c.bPopup(j.data("bpopup")||{})})});var b=function(a,b){return~~(Math.random()*(b-a+1)+a)}})(jQuery); | |
0 | 4 | \ No newline at end of file | ... | ... |
1 | + | |
2 | + // ============= | |
3 | + // ==== VAR ==== | |
4 | + // ============= | |
5 | + | |
6 | + var $modalBoxTotal = 0; | |
7 | + | |
8 | + // =============== | |
9 | + // ==== METOD ==== | |
10 | + // =============== | |
11 | + | |
12 | + function percentToPix ($value) | |
13 | + { | |
14 | + return $value == null ? 0 : parseInt (screen.width * $value / 100); | |
15 | + } | |
16 | + | |
17 | + function modalBoxLoad (content, $option) | |
18 | + { | |
19 | + var ID = $modalBoxTotal; | |
20 | + $width = 80; | |
21 | + $modalBoxId = 'modalBoxId-' + ID; | |
22 | + $style = 'style="max-width:' + percentToPix ($width) + 'px;"'; | |
23 | + | |
24 | + var $modal = | |
25 | + '<div class="modalBox ' + $modalBoxId + '" ' + $style + '>' | |
26 | + + '<div class="right"><div class="close bClose">X</div></div>' | |
27 | + + '<div class="content">' + content + '</div>' | |
28 | + + '</div>'; | |
29 | + | |
30 | + var $default = { | |
31 | + 'id': ID, | |
32 | + 'transition': 'slideDown', | |
33 | +// 'closeClass': 'bClose-' + ID, | |
34 | + 'onOpen': function() { | |
35 | + $modalBoxTotal++; | |
36 | + $(this).html($modal) | |
37 | + }, | |
38 | + 'onClose': function() { | |
39 | + $modalBoxTotal--; | |
40 | + $('.' + $modalBoxId).remove(); | |
41 | + }, | |
42 | + 'width': $width | |
43 | + }; | |
44 | + | |
45 | + var $setting = $.extend({}, $default, $option); | |
46 | + | |
47 | + if ($('#duty').length == 0) | |
48 | + { | |
49 | + $('body').append('<div id="duty"></div>').promise().done(function() | |
50 | + { | |
51 | + $('#duty').bPopup($setting).reposition(1); | |
52 | + }); | |
53 | + } | |
54 | + else | |
55 | + { | |
56 | + $('#duty').bPopup($setting).reposition(1); | |
57 | + } | |
58 | + } | |
59 | + | |
60 | + function modalBoxClose () | |
61 | + { | |
62 | + $('#duty').bPopup().close(); | |
63 | + } | |
64 | + | |
65 | + | |
66 | + function isModalBox () | |
67 | + { | |
68 | + return ($modalBoxTotal > 0) ? true : false; | |
69 | + } | ... | ... |