From bd7e897e60e2b0233138df212e5e2eeab1f8e306 Mon Sep 17 00:00:00 2001 From: lukeyan <1727408482@qq.com> Date: Mon, 21 Aug 2023 14:55:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=AD=E5=8C=BA=E8=BD=A6=E8=BE=86charts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/publicMethod_lxy/esresize.js | 105 ++++++++++++++++++ .../compositeIndex/components/companyCar.vue | 80 +++++++++---- .../compositeIndex/components/companyNum.vue | 6 + 3 files changed, 172 insertions(+), 19 deletions(-) create mode 100644 src/utils/publicMethod_lxy/esresize.js diff --git a/src/utils/publicMethod_lxy/esresize.js b/src/utils/publicMethod_lxy/esresize.js new file mode 100644 index 0000000..89cab28 --- /dev/null +++ b/src/utils/publicMethod_lxy/esresize.js @@ -0,0 +1,105 @@ +var EleResize = { + _handleResize: function (e) { + var ele = e.target || e.srcElement + var trigger = ele.__resizeTrigger__ + if (trigger) { + var handlers = trigger.__z_resizeListeners + if (handlers) { + var size = handlers.length + for (var i = 0; i < size; i++) { + var h = handlers[i] + var handler = h.handler + var context = h.context + handler.apply(context, [e]) + } + } + } + }, + _removeHandler: function (ele, handler, context) { + var handlers = ele.__z_resizeListeners + if (handlers) { + var size = handlers.length + for (var i = 0; i < size; i++) { + var h = handlers[i] + if (h.handler === handler && h.context === context) { + handlers.splice(i, 1) + return + } + } + } + }, + _createResizeTrigger: function (ele) { + var obj = document.createElement('object') + obj.setAttribute('style', + 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden;opacity: 0; pointer-events: none; z-index: -1;') + obj.onload = EleResize._handleObjectLoad + obj.type = 'text/html' + ele.appendChild(obj) + obj.data = 'about:blank' + return obj + }, + _handleObjectLoad: function () { + this.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__ + this.contentDocument.defaultView.addEventListener('resize', EleResize._handleResize) + } +} +if (document.attachEvent) { // ie9-10 + EleResize.on = function (ele, handler, context) { + var handlers = ele.__z_resizeListeners + if (!handlers) { + handlers = [] + ele.__z_resizeListeners = handlers + ele.__resizeTrigger__ = ele + ele.attachEvent('onresize', EleResize._handleResize) + } + handlers.push({ + handler: handler, + context: context + }) + } + EleResize.off = function (ele, handler, context) { + var handlers = ele.__z_resizeListeners + if (handlers) { + EleResize._removeHandler(ele, handler, context) + if (handlers.length === 0) { + ele.detachEvent('onresize', EleResize._handleResize) + delete ele.__z_resizeListeners + } + } + } +} else { + EleResize.on = function (ele, handler, context) { + var handlers = ele.__z_resizeListeners + if (!handlers) { + handlers = [] + ele.__z_resizeListeners = handlers + + if (getComputedStyle(ele, null).position === 'static') { + ele.style.position = 'relative' + } + var obj = EleResize._createResizeTrigger(ele) + ele.__resizeTrigger__ = obj + obj.__resizeElement__ = ele + } + handlers.push({ + handler: handler, + context: context + }) + } + EleResize.off = function (ele, handler, context) { + var handlers = ele.__z_resizeListeners + if (handlers) { + EleResize._removeHandler(ele, handler, context) + if (handlers.length === 0) { + var trigger = ele.__resizeTrigger__ + if (trigger) { + trigger.contentDocument.defaultView.removeEventListener('resize', EleResize._handleResize) + ele.removeChild(trigger) + delete ele.__resizeTrigger__ + } + delete ele.__z_resizeListeners + } + } + } +} +export default EleResize diff --git a/src/views/compositeIndex/components/companyCar.vue b/src/views/compositeIndex/components/companyCar.vue index 1cc0511..c3dceb3 100644 --- a/src/views/compositeIndex/components/companyCar.vue +++ b/src/views/compositeIndex/components/companyCar.vue @@ -46,6 +46,7 @@