-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathjquery.uppydowner.js
71 lines (56 loc) · 1.63 KB
/
jquery.uppydowner.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
(function($)
{
// This script was written by Steve Fenton
// http://www.stevefenton.co.uk/Content/Jquery-Uppy-Downer/
// Feel free to use this jQuery Plugin
// Version: 1.0.1
// Contributions by:
var classCounter = 0;
$.fn.uppydowner = function (settings) {
var upDownStep = 1;
var config = {
classModifier: "uppydowner",
upButton: "+",
upPlaceBefore: false,
downButton: "–",
downPlaceBefore: true,
step: 1,
minValue: -10000,
maxValue: 10000
};
if (settings) {
$.extend(config, settings);
}
return this.each(function () {
var $This = $(this);
upDownStep = parseFloat(config.step);
var down = "<span id=\"" + config.classModifier + classCounter + "_down\" class=\"" + config.classModifier + "button\">" + config.downButton + "</span>";
var up = "<span id=\"" + config.classModifier + classCounter + "_up\" class=\"" + config.classModifier + "button\">" + config.upButton + "</span>";
if (config.downPlaceBefore) {
$This.before(down);
} else {
$This.after(down);
}
if (config.upPlaceBefore) {
$This.before(up);
} else {
$This.after(up);
}
$("#" + config.classModifier + classCounter + "_down").click( function () {
var value = parseFloat($This.val());
if (value > config.minValue) {
$This.val(value - upDownStep);
}
$This[0].focus();
});
$("#" + config.classModifier + classCounter + "_up").click( function () {
var value = parseFloat($This.val());
if (value < config.maxValue) {
$This.val(value + upDownStep);
}
$This[0].focus();
});
});
return this;
};
})(jQuery);