ui-sliders.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. var UISliders = function () {
  2. return {
  3. //main function to initiate the module
  4. initSliders: function () {
  5. // basic
  6. $(".slider-basic").slider(); // basic sliders
  7. // snap inc
  8. $("#slider-snap-inc").slider({
  9. value: 100,
  10. min: 0,
  11. max: 1000,
  12. step: 100,
  13. slide: function (event, ui) {
  14. $("#slider-snap-inc-amount").text("$" + ui.value);
  15. }
  16. });
  17. $("#slider-snap-inc-amount").text("$" + $("#slider-snap-inc").slider("value"));
  18. // range slider
  19. $("#slider-range").slider({
  20. range: true,
  21. min: 0,
  22. max: 500,
  23. values: [75, 300],
  24. slide: function (event, ui) {
  25. $("#slider-range-amount").text("$" + ui.values[0] + " - $" + ui.values[1]);
  26. }
  27. });
  28. $("#slider-range-amount").text("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1));
  29. //range max
  30. $("#slider-range-max").slider({
  31. range: "max",
  32. min: 1,
  33. max: 10,
  34. value: 2,
  35. slide: function (event, ui) {
  36. $("#slider-range-max-amount").text(ui.value);
  37. }
  38. });
  39. $("#slider-range-max-amount").text($("#slider-range-max").slider("value"));
  40. // range min
  41. $("#slider-range-min").slider({
  42. range: "min",
  43. value: 37,
  44. min: 1,
  45. max: 700,
  46. slide: function (event, ui) {
  47. $("#slider-range-min-amount").text("$" + ui.value);
  48. }
  49. });
  50. $("#slider-range-min-amount").text("$" + $("#slider-range-min").slider("value"));
  51. //
  52. // setup graphic EQ
  53. $("#slider-eq > span").each(function () {
  54. // read initial values from markup and remove that
  55. var value = parseInt($(this).text(), 10);
  56. $(this).empty().slider({
  57. value: value,
  58. range: "min",
  59. animate: true,
  60. orientation: "vertical"
  61. });
  62. });
  63. // vertical slider
  64. $("#slider-vertical").slider({
  65. orientation: "vertical",
  66. range: "min",
  67. min: 0,
  68. max: 100,
  69. value: 60,
  70. slide: function (event, ui) {
  71. $("#slider-vertical-amount").text(ui.value);
  72. }
  73. });
  74. $("#slider-vertical-amount").text($("#slider-vertical").slider("value"));
  75. // vertical range sliders
  76. $("#slider-range-vertical").slider({
  77. orientation: "vertical",
  78. range: true,
  79. values: [17, 67],
  80. slide: function (event, ui) {
  81. $("#slider-range-vertical-amount").text("$" + ui.values[0] + " - $" + ui.values[1]);
  82. }
  83. });
  84. $("#slider-range-vertical-amount").text("$" + $("#slider-range-vertical").slider("values", 0) + " - $" + $("#slider-range-vertical").slider("values", 1));
  85. },
  86. initKnowElements: function () {
  87. //knob does not support ie8 so skip it
  88. if (!jQuery().knob || App.isIE8()) {
  89. return;
  90. }
  91. $(".knob").knob({
  92. 'dynamicDraw': true,
  93. 'thickness': 0.2,
  94. 'tickColorizeValues': true,
  95. 'skin': 'tron'
  96. });
  97. if ($(".knobify").size() > 0) {
  98. $(".knobify").knob({
  99. readOnly: true,
  100. skin: "tron",
  101. 'width': 100,
  102. 'height': 100,
  103. 'dynamicDraw': true,
  104. 'thickness': 0.2,
  105. 'tickColorizeValues': true,
  106. 'skin': 'tron',
  107. draw: function () {
  108. // "tron" case
  109. if (this.$.data('skin') == 'tron') {
  110. var a = this.angle(this.cv) // Angle
  111. ,
  112. sa = this.startAngle // Previous start angle
  113. ,
  114. sat = this.startAngle // Start angle
  115. ,
  116. ea // Previous end angle
  117. ,
  118. eat = sat + a // End angle
  119. ,
  120. r = 1;
  121. this.g.lineWidth = this.lineWidth;
  122. this.o.cursor && (sat = eat - 0.3) && (eat = eat + 0.3);
  123. if (this.o.displayPrevious) {
  124. ea = this.startAngle + this.angle(this.v);
  125. this.o.cursor && (sa = ea - 0.3) && (ea = ea + 0.3);
  126. this.g.beginPath();
  127. this.g.strokeStyle = this.pColor;
  128. this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, sa, ea, false);
  129. this.g.stroke();
  130. }
  131. this.g.beginPath();
  132. this.g.strokeStyle = r ? this.o.fgColor : this.fgColor;
  133. this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, sat, eat, false);
  134. this.g.stroke();
  135. this.g.lineWidth = 2;
  136. this.g.beginPath();
  137. this.g.strokeStyle = this.o.fgColor;
  138. this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false);
  139. this.g.stroke();
  140. return false;
  141. }
  142. }
  143. });
  144. }
  145. }
  146. };
  147. }();