From 922c20d7789e0c28836fa8dc9917ca59e4c71aa4 Mon Sep 17 00:00:00 2001 From: xioayue Date: Thu, 22 Jun 2023 20:49:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87class=20=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/getclass.js | 45 +++++++++++++++++++++++++++++++++++++ src/views/cultrue/index.vue | 45 ++++++++++++++++--------------------- src/views/index.vue | 20 ++++++++++++----- src/views/ty/index.vue | 24 +++++++++----------- 4 files changed, 88 insertions(+), 46 deletions(-) create mode 100644 src/utils/getclass.js diff --git a/src/utils/getclass.js b/src/utils/getclass.js new file mode 100644 index 0000000..bfd47c2 --- /dev/null +++ b/src/utils/getclass.js @@ -0,0 +1,45 @@ +// 操作dom +export function getClass (ele) { + return ele.className.replace(/\s+/, ' ').split(' ') + } + + export function hasClass (ele, cls) { + return (' ' + ele.className + ' ').indexOf(' ' + cls + ' ') > -1 + } + + export function addClass (ele, cls) { + if (!hasClass(ele, cls)) { + ele.className += ' ' + cls + var curClass = ele.className + + var classes = (cls || '').split(' ') + for (var i = 0, j = classes.length; i < j; i++) { + var clsName = classes[i] + if (!clsName) continue + + if (ele.classList) { + ele.classList.add(clsName) + } else if (!hasClass(ele, clsName)) { + curClass += ' ' + clsName + } + } + if (!ele.classList) { + ele.className = curClass + } + } + } + + export function removeClass (ele, cls) { + if (hasClass(ele, cls)) { + var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)', 'gi') + ele.className = ele.className.replace(reg, ' ') + } + } + + export function toggleClass (ele, cls) { + if (hasClass(ele, cls)) { + removeClass(ele, cls) + } else { + addClass(ele, cls) + } + } \ No newline at end of file diff --git a/src/views/cultrue/index.vue b/src/views/cultrue/index.vue index d0d0f1e..23d3dd6 100644 --- a/src/views/cultrue/index.vue +++ b/src/views/cultrue/index.vue @@ -1,34 +1,27 @@ \ No newline at end of file diff --git a/src/views/index.vue b/src/views/index.vue index c29e17b..c99782f 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -5,6 +5,7 @@