-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.pop.js
138 lines (109 loc) · 3.05 KB
/
jquery.pop.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*!
* jQuery Form Plugin
* version: 3.09 (02-SEP-012)
* @requires jQuery v1.3.2 or later
*
* Examples and documentation at: http://malsup.com/jquery/form/
* Project repository: https://github.com/malsup/form
* Dual licensed under the MIT and GPL licenses:
* http://malsup.github.com/mit-license.txt
* http://malsup.github.com/gpl-license-v2.txt
*/
;(function($) {
"use strict";
/*
Usage Note:
-----------
Do not use both ajaxSubmit and ajaxForm on the same form. These
functions are mutually exclusive. Use ajaxSubmit if you want
to bind your own submit handler to the form. For example,
$(document).ready(function() {
$('#myForm').on('submit', function(e) {
e.preventDefault(); // <-- important
$(this).ajaxSubmit({
target: '#output'
});
});
});
Use ajaxForm when you want the plugin to manage all the event binding
for you. For example,
$(document).ready(function() {
$('#myForm').ajaxForm({
target: '#output'
});
});
You can also use ajaxForm with delegation (requires jQuery v1.7+), so the
form does not have to exist when you invoke ajaxForm:
$('#myForm').ajaxForm({
delegation: true,
target: '#output'
});
When using ajaxForm, the ajaxSubmit function will be invoked for you
at the appropriate time.
*/
/**
* Feature detection
*/
var top, pop, mask,
isie6 = $.browser.msie && $.browser.version === '6.0';
function hide(event) {
pop.hide();
mask.hide();
}
function popReset(event){
pop.css("left", Math.floor($(window).width() / 2 - pop.outerWidth() / 2));
//pop.css("top", isie6 ? $(document).scrollTop() : Math.floor($(window).width() / 2 - pop.outerWidth() / 2));
pop.css("top", !isie6 ? top : Math.floor($(window).width() / 2 - pop.outerWidth() / 2));
/*
if (!isie6) {
pop.css("top", top);
} else{
pop.css("top", $(document).scrollTop() + top);
}
*/
}
function maskReset(event){
mask.width($(window).width())
.height($("body").height() > $(window).height() ? $("body").height() : $(window).height());
}
/**
* ajaxSubmit() provides a mechanism for immediately submitting
* an HTML form using AJAX.
*/
$.fn.pop = function(popy, fade) {
/*jshint scripturl:true */
pop = $(this);
top = top || 120;
fade = fade || 250;
close = pop.find(".close");
mask = $(".overlay");
var position;
if (isie6) {
position = 'absolute';
} else {
position = 'fixed';
}
mask.css({
"top" : 0,
"left" : 0,
"position" : position
});
mask.show();
pop.css({"position": position});
if (fade <= 1) {
pop.show();
} else {
pop.fadeIn(fade);
}
popReset();
maskReset();
close.one('click', hide);
};
$.fn.popOff = function() {
close.trigger('close');
//pop.selector(' form')[0].reset();
pop = null;
mask = null;
close = null;
};
})(jQuery);