script.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. function toggleFullscreen(elem) {
  2. elem = elem || document.documentElement;
  3. if (!document.fullscreenElement && !document.mozFullScreenElement &&
  4. !document.webkitFullscreenElement && !document.msFullscreenElement) {
  5. img_fullscreen = $(elem).attr("src").split("-");
  6. img_fullscreen = img_fullscreen[0] + "-" + img_fullscreen[1] + img_fullscreen[2].slice(7);
  7. $(elem).attr("src", img_fullscreen);
  8. if (elem.requestFullscreen) {
  9. elem.requestFullscreen();
  10. } else if (elem.msRequestFullscreen) {
  11. elem.msRequestFullscreen();
  12. } else if (elem.mozRequestFullScreen) {
  13. elem.mozRequestFullScreen();
  14. } else if (elem.webkitRequestFullscreen) {
  15. elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
  16. }
  17. } else {
  18. img_fullscreen = $(elem).attr("src").split("&");
  19. img_fullscreen = img_fullscreen[0] + "&" + img_fullscreen[1] + "&" + img_fullscreen[2] + "-resized&" + img_fullscreen[3];
  20. $(elem).attr("src", img_fullscreen);
  21. if (document.exitFullscreen) {
  22. document.exitFullscreen();
  23. } else if (document.msExitFullscreen) {
  24. document.msExitFullscreen();
  25. } else if (document.mozCancelFullScreen) {
  26. document.mozCancelFullScreen();
  27. } else if (document.webkitExitFullscreen) {
  28. document.webkitExitFullscreen();
  29. }
  30. }
  31. }
  32. $(function() {
  33. $("#front-quality-text").text( ($("#img-front").width() / parseInt($("#top-count").text())).toFixed(2).toString() + "%");
  34. $("#top-quality-text").text( ($("#img-top").width() / parseInt($("#front-count").text())).toFixed(2).toString() + "%");
  35. $("#left-quality-text").text( ($("#placeholder-left").width() / parseInt($("#front-count").text())).toFixed(2).toString() + "%");
  36. $( "#slider-left" ).slider({
  37. range: "max",
  38. min: 1,
  39. max: parseInt($("#left-count").text()),
  40. value: 1,
  41. slide: function( event, ui ) {
  42. //console.log(ui.value);
  43. var name = $( "select option:selected" ).text();
  44. var id = $( "select option:selected" ).val();
  45. $("#left-text").text(ui.value);
  46. // update image src
  47. $("#placeholder-left").attr("src", "img?id="+id+"&name="+name+"&type=left-resized&counter="+(ui.value-1));
  48. }
  49. });
  50. $( "#slider-right" ).slider({
  51. range: "max",
  52. min: 1,
  53. max: parseInt($("#front-count").text()),
  54. value: 1,
  55. slide: function( event, ui ) {
  56. //console.log(ui.value);
  57. var name = $( "select option:selected" ).text();
  58. var id = $( "select option:selected" ).val();
  59. $("#front-text").text(ui.value);
  60. // update image src
  61. $("#img-front").attr("src", "img?id="+id+"&name="+name+"&type=front-resized&counter="+(ui.value-1));
  62. }
  63. });
  64. $( "#slider-center" ).slider({
  65. range: "max",
  66. min: 1,
  67. max: parseInt($("#top-count").text()),
  68. value: 1,
  69. slide: function( event, ui ) {
  70. //console.log(ui.value);
  71. var name = $( "select option:selected" ).text();
  72. var id = $( "select option:selected" ).val();
  73. $("#top-text").text(ui.value);
  74. // update image src
  75. $("#img-top").attr("src", "img?id="+id+"&name="+name+"&type=top-resized&counter="+(ui.value-1));
  76. }
  77. });
  78. $( "#download" ).click(function(e) {
  79. var did = $( "select option:selected" ).text();
  80. e.preventDefault(); //stop the browser from following
  81. window.location.href = 'download?did=' + did;
  82. });
  83. $('.target').change(function() {
  84. var name = $(this).find("option:selected").text();
  85. var index = $(this).find("option:selected").val();
  86. $.ajax({
  87. url: 'update?index=' + index + '&name=' + name,
  88. type: 'GET',
  89. success: function (response) {
  90. console.log("Success.");
  91. console.log(response);
  92. $("#size").text("("+response.data_size+" GB)");
  93. var html = "<span>Description</span>";
  94. for (i = 0; i < response["desc"].length; i++) {
  95. if (response["desc"][i]["type"] == "i") {
  96. tmp = "<i>" + response["desc"][i]["text"] + "</i>";
  97. } else if (response["desc"][i]["type"] == "p") {
  98. tmp = response["desc"][i]["text"];
  99. }
  100. html += tmp;
  101. }
  102. $("#description").empty().append(html);
  103. $("#front-count-text").text(" (max: " + response.front_count + ")");
  104. $("#left-count-text").text(" (max: " + response.left_count + ")");
  105. $("#top-count-text").text(" (max: " + response.top_count + ")");
  106. $("#front-count").text(response.front_count);
  107. $("#left-count").text(response.left_count);
  108. $("#top-count").text(response.top_count);
  109. $("#slider-right").slider("option", "max" , response.front_count );
  110. $("#slider-left").slider("option", "max" , response.left_count );
  111. $("#slider-center").slider("option", "max" , response.top_count );
  112. var left_index = $( "#slider-left" ).slider( "option", "value" );
  113. var top_index = $( "#slider-center" ).slider( "option", "value" );
  114. var front_index = $( "#slider-right" ).slider( "option", "value" );
  115. $("#placeholder-left").attr("src", "img?id="+index+"&name="+name+"&type=left-resized&counter="+(left_index-1));
  116. $("#img-top").attr("src", "img?id="+index+"&name="+name+"&type=top-resized&counter="+(top_index-1));
  117. $("#img-front").attr("src", "img?id="+index+"&name="+name+"&type=front-resized&counter="+(front_index-1));
  118. $("#front-quality-text").text( " " + ($("#img-front").width() / response.front_count).toFixed(2).toString() + "%");
  119. $("#top-quality-text").text(" " + ($("#img-top").width() / response.top_count).toFixed(2).toString() + "%");
  120. $("#left-quality-text").text(" " + ($("#placeholder-left").width() / response.left_count).toFixed(2).toString() + "%");
  121. },
  122. error: function () {
  123. console.log("Error.")
  124. }
  125. });
  126. $("#img-preview").attr("src", "img?id="+index+"&name="+name+"&type=preview&counter=0");
  127. });
  128. $("#front-left").click( function() {
  129. var index = parseInt($("#front-text").text());
  130. var name = $( "select option:selected" ).text();
  131. var id = $( "select option:selected" ).val();
  132. index -= 1;
  133. if (index < 1) {
  134. index = 1;
  135. }
  136. $("#front-text").text(index);
  137. $("#img-front").attr("src", "img?id="+id+"&name="+name+"&type=front-resized&counter="+index.toString());
  138. });
  139. $("#front-right").click( function() {
  140. var index = parseInt($("#front-text").text());
  141. var max_count = parseInt($("#front-count").text());
  142. var name = $( "select option:selected" ).text();
  143. var id = $( "select option:selected" ).val();
  144. //console.log(index, max_count);
  145. index += 1;
  146. if (index > max_count) {
  147. index = max_count;
  148. }
  149. $("#front-text").text(index);
  150. // update image src
  151. $("#img-front").attr("src", "img?id="+id+"&name="+name+"&type=front-resized&counter="+index.toString());
  152. });
  153. $("#top-left").click( function() {
  154. var index = parseInt($("#top-text").text());
  155. var name = $( "select option:selected" ).text();
  156. var id = $( "select option:selected" ).val();
  157. index -= 1;
  158. if (index < 1) {
  159. index = 1;
  160. }
  161. $("#top-text").text(index);
  162. $("#img-top").attr("src", "img?id="+id+"&name="+name+"&type=top-resized&counter="+index.toString());
  163. });
  164. $("#top-right").click( function() {
  165. var index = parseInt($("#top-text").text());
  166. var max_count = parseInt($("#top-count").text());
  167. var name = $( "select option:selected" ).text();
  168. var id = $( "select option:selected" ).val();
  169. //console.log(index, max_count);
  170. index += 1;
  171. if (index > max_count) {
  172. index = max_count;
  173. }
  174. $("#top-text").text(index);
  175. // update image src
  176. $("#img-top").attr("src", "img?id="+id+"&name="+name+"&type=top-resized&counter="+index.toString());
  177. });
  178. $("#left-left").click( function() {
  179. var index = parseInt($("#left-text").text());
  180. var name = $( "select option:selected" ).text();
  181. var id = $( "select option:selected" ).val();
  182. index -= 1;
  183. if (index < 1) {
  184. index = 1;
  185. }
  186. $("#left-text").text(index);
  187. $("#placeholder-left").attr("src", "img?id="+id+"&name="+name+"&type=left-resized&counter="+index.toString());
  188. });
  189. $("#left-right").click( function() {
  190. var index = parseInt($("#left-text").text());
  191. var max_count = parseInt($("#left-count").text());
  192. var name = $( "select option:selected" ).text();
  193. var id = $( "select option:selected" ).val();
  194. //console.log(index, max_count);
  195. index += 1;
  196. if (index > max_count) {
  197. index = max_count;
  198. }
  199. $("#left-text").text(index);
  200. // update image src
  201. $("#placeholder-left").attr("src", "img?id="+id+"&name="+name+"&type=left-resized&counter="+index.toString());
  202. });
  203. document.getElementById("img-front").addEventListener("click", function() {
  204. console.log(this);
  205. toggleFullscreen(this);
  206. });
  207. document.getElementById('img-top').addEventListener('click', function() {
  208. console.log(this);
  209. toggleFullscreen(this);
  210. });
  211. document.getElementById('placeholder-left').addEventListener('click', function() {
  212. console.log(this);
  213. toggleFullscreen(this);
  214. });
  215. });