wms-layout.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * 描 述:lrLayout 页面布局插件(目前支持左右布局)
  3. */
  4. (function ($, learun) {
  5. "use strict";
  6. $.fn.lrLayout = function (op) {
  7. var dfop = {
  8. blocks: [
  9. {
  10. target: '.lr-layout-left',
  11. type: 'right',
  12. size: 203
  13. }
  14. ]
  15. };
  16. $.extend(dfop, op || {});
  17. var $this = $(this);
  18. if ($this.length <= 0) {
  19. return false;
  20. }
  21. $this[0]._lrLayout = { "dfop": dfop };
  22. dfop.id = "lrlayout" + new Date().getTime();
  23. for (var i = 0, l = dfop.blocks.length; i < l; i++) {
  24. var _block = dfop.blocks[i];
  25. $this.children(_block.target).append('<div class="lr-layout-move lr-layout-move-' + _block.type + ' " path="' + i + '" ></div>');
  26. }
  27. $this.on('mousedown', function (e) {
  28. var et = e.target || e.srcElement;
  29. var $et = $(et);
  30. var $this = $(this);
  31. var dfop = $this[0]._lrLayout.dfop;
  32. if ($et.hasClass('lr-layout-move')) {
  33. var _index = $et.attr('path');
  34. dfop._currentBlock = dfop.blocks[_index];
  35. dfop._ismove = true;
  36. dfop._pageX = e.pageX;
  37. }
  38. });
  39. $this.mousemove(function (e) {
  40. var $this = $(this);
  41. var dfop = $this[0]._lrLayout.dfop;
  42. if (!!dfop._ismove) {
  43. var $block = $this.children(dfop._currentBlock.target);
  44. $block.css('width', dfop._currentBlock.size + (e.pageX - dfop._pageX));
  45. $this.css('padding-left', dfop._currentBlock.size + (e.pageX - dfop._pageX));
  46. }
  47. });
  48. $this.on('click', function (e) {
  49. var $this = $(this);
  50. var dfop = $this[0]._lrLayout.dfop;
  51. if (!!dfop._ismove) {
  52. dfop._currentBlock.size += (e.pageX - dfop._pageX);
  53. dfop._ismove = false;
  54. }
  55. });
  56. }
  57. })(jQuery, top.learun);