Guest User

Untitled

a guest
Feb 24th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. $(document).ready(function(){
  2. //Элемент изображения (img)
  3. var image = document.getElementById('crop-image');
  4. //Пропорции выделяемой области (1 для квадратной)
  5. var ratio = 1;
  6. //Поле (скрытый input), в которое будет записываться информация (JSON) о выделенной области
  7. var cropDataField = $('.crop-data');
  8. //Информация об обрезке (пусто по умолчанию)
  9. var cropData = undefined;
  10.  
  11. //Пытаемся получить информацию об обрезке из поля (например если нужно показать старую область обрезки, информация о которой имеется в базе), если нет - оставляем пустой
  12. try {
  13. cropData = cropDataField.length > 0 ? JSON.parse(cropDataField.val()) : undefined;
  14. }catch (err) {
  15. cropData = undefined;
  16. }
  17.  
  18. //Если скрипт подключен и изображение доступно
  19. if(typeof Cropper !== 'undefined' && image){
  20. var cropper = new Cropper(image, {
  21. aspectRatio: ratio,
  22. viewMode: 2,
  23. scalable: false,
  24. rotatable: false,
  25. zoomable: false,
  26. zoomOnWheel: false,
  27.  
  28. //Событие смены области. Вписываем в cropData информацию об области и помещаем JSON этого объекта
  29. //в скрытое поле
  30. crop: function(e) {
  31. var cropData = {};
  32. cropData.x = Math.round(e.detail.x);
  33. cropData.y = Math.round(e.detail.y);
  34. cropData.w = Math.round(e.detail.width);
  35. cropData.h = Math.round(e.detail.height);
  36. $('.crop-data').val(JSON.stringify(cropData));
  37. },
  38.  
  39. //Событие инициализации плагина. Если есть инфа в cropData - устанавливаем область
  40. //согласно этой инфе
  41. ready: function (e) {
  42. if(cropData){
  43. cropper.setData({
  44. x: cropData.x,
  45. y: cropData.y,
  46. width: cropData.w,
  47. height: cropData.h
  48. });
  49. }
  50. }
  51. });
  52. }
  53. });
Add Comment
Please, Sign In to add comment