
js
真前端
这个作者很懒,什么都没留下…
展开
-
js如何打印dom的属性和方法
1、第一种console.log('%O', myDom)2、第二种console.dir(myDom);3、第三种console.log([myDom]);原创 2021-12-28 14:14:54 · 2494 阅读 · 0 评论 -
vue中使用svg图片,支持变色
安装插件npm install vue2-svg-icon --save-dev在vue.config.js文件中增加配置chainWebpack: (config) => { const svgRule = config.module.rule('svg') svgRule.uses.clear() svgRule.use('svg-sprite-loader').loader('svg-sprite-loader') .原创 2021-10-08 16:13:51 · 1185 阅读 · 0 评论 -
移动端实现页面滑动,顶部栏渐进变透明或变颜色
1.先监听页面滚动created() { window.addEventListener("scroll", this.handleScroll);},destroyed() { window.removeEventListener("scroll", this.handleScroll, true);},2.handleScroll方法```bashhandleScroll() { let scrollTop = window.pageYOffset |原创 2021-10-08 15:59:22 · 1060 阅读 · 0 评论 -
vue3+ts 实现防抖功能
使用自定义 ref 实现带防抖功能的 v-modelimport { customRef } from 'vue'export function useDebouncedRef<T>(value: T, delay = 200) { let timeout: any = null return customRef((track, trigger) => { return { get() { track() return val原创 2021-09-23 13:44:37 · 1843 阅读 · 0 评论 -
js复制文本
function copyText(test: string) { if (document !== null) { const tag = document.createElement('input') tag.setAttribute('id', 'copyInput') tag.value = test document.getElementsByTagName('body')[0].appendChild(tag) const target: any =原创 2021-09-23 13:19:25 · 119 阅读 · 0 评论 -
小项目怎么代替vuex
1.新建store.js文件,写入import Vue from 'vue'const state = Vue.observable({ user: {}, productId: '',})const store = { state: state, dispatch: function (method, ...args) { return this.methods[method].apply(this, [...args]) }, me原创 2021-09-23 09:57:47 · 192 阅读 · 0 评论 -
防抖和节流方法和区别
防抖:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。const debounce = function(fn, wait) { let time; return function() { var context = this, args = arguments; time && clearTimeout(time); time = setTimeout(function{原创 2021-09-05 10:55:34 · 119 阅读 · 0 评论 -
点击区域外事件
//点击目标区域外事件const tagClickOutside = { bind(el, binding, vnode) { el.event = function (event) { if(!(el === event.target || el.contains(event.target) ) ) { if(binding.modifiers.stop) { event.stopPr原创 2021-09-05 10:45:33 · 247 阅读 · 0 评论 -
判断是否是IE浏览器
const userAgent = navigator.userAgent;const isIE =(userAgent.indexOf(‘compatible’)>-1 && userAgent.indexOf(‘MSIE’) || (userAgent.indexOf(‘Trident’)>-1 && userAgent.indexOf(‘rv:11.0’)>-1))原创 2021-09-05 10:04:48 · 217 阅读 · 0 评论 -
获取字符长度函数
const getStrFullLength = (str = '') =>{ str.split('').reduce((pre,cur)=>{ const charCode = cur.charCodeAt(0); if(charCode > 0 && charCode <=128){ return pre +1 } return pre +2 },0)}原创 2021-09-05 10:00:13 · 214 阅读 · 0 评论 -
vue 下载文件方法
const downLoadFile = function (blob, fileName, that, msg = ''){ if(blob.type === 'jsonString') { let reader = new FileReader(); reader.readAsText(blob.data, 'utf-8'); let resJson = {}; reader.onload = e =>{原创 2021-09-05 09:43:04 · 2345 阅读 · 0 评论 -
数组对象找重复值
对象内容let empListData = [{lastName:'lin',phone:154393456},{lastName:'lin',phone:154393456},{lastName:'lin',phone:154393456}]找重方法:let newarr = empListData.filter((item,index)=>{ for (le...原创 2020-01-08 18:28:16 · 1851 阅读 · 1 评论 -
js递归遍历树形json数据
获得的数据{ "name":‘林1’, "createTime": "2018-03-16 11:33:00", "deptId": 100, "parentId": 0 }, { "name":‘林2’, "createTime": "2018-03-16 11:33:00", "deptId": 101, "...原创 2019-11-27 15:21:00 · 821 阅读 · 0 评论