自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(270)
  • 资源 (4)
  • 收藏
  • 关注

原创 blob转json

blob转json。

2022-10-31 17:48:00 641 1

原创 js监听退出全屏事件

js监听退出全屏事件。

2022-08-04 16:29:37 2691

原创 js全屏实现代码

js全屏实现代码。

2022-08-04 16:27:41 1429

原创 js拖拽元素

js拖拽元素

2022-07-21 10:26:06 234

原创 js判断元素是否到滚动到顶部

js判断元素是否到滚动到顶部。

2022-07-20 15:30:33 1295

原创 js判断是对象还是数组

我们通常使用的typeof 方法是无法辨别该变量是对象还是数组类型,因为:let obj = {}let arr = []console.log(typeof obj) //objectconsole.log(typeof arr) //object解决方案:一、使用数组内置方法isArray来判断,但是只能判断变量是否是数组,而对象需要另外判断const a = [1, 2, 3, 4];const b = {"name": "abc"};console.log(Array.isArr

2022-05-26 10:56:10 6508

原创 Obejct.getOwnPropertyNames()与Object.keys()区别

Obejct.getOwnPropertyNames()返回一个数组,其中包含作为参数传递的对象自身属性的所有名称,包括不可枚举的属性。 它不考虑继承的属性。Object.keys()返回一个数组,其中包含可枚举属性。

2022-05-26 10:32:04 108

原创 git remote: HTTP Basic: Access denied

报git remote: HTTP Basic: Access denied原因:远程服务端的用户名和密码与当前系统中git保存的用户名和密码有冲突解决方法:1.以管理员身份打开cmd命令行工具2.输入"git config --system --unset credential.helper"命令(重置远程端的用户名和密码)3.关闭命令行工具4.正常克隆项目 git clone …到指定文件夹,克隆时需填写对应远程端的用户名和密码如果出现每次提交/拉取都要再次输入密码解决方案请执行: gi

2022-05-10 11:38:02 1492 1

原创 vuedraggable彼此独立

vue.draggable group 拖拽分组多组之间相互拖拽,可以实现不同数组之间相互拖拽。比如group都为itxst的组之间可以相互拖动,本文例子中A列和B列可以相互拖动,但是无法拖到C列。<template> <div> <!--使用draggable组件--><div class="itxst"> <span>A、B列可以相互拖动,无法拖到C列</span><div class="col">

2022-05-06 21:37:41 754

原创 git版本回退

1、git reflog会出现历史操作记录,每条前面都有一串数字,这边我先用xxxxxx代替2、git reset xxxxxx

2022-05-06 21:32:42 137

原创 Vue组件动态(异步)传值

父组件:<template> <div> <input type="text" v-model="inpMessage"> <button @click="handleClick">点击传给子组件</button> <children :message="clickData" /> //message为子组件props接收的值,clickData为父组件要传的值 </div></t

2022-04-19 09:32:36 2524

原创 js判断一个字符在字符串中出现的次数

通过分割获取长度原理var s = 'www.jb51.net';var n = (s.split('.')).length-1;alert(n); //弹出2通过正则实现function patch(re,s){ re=eval("/"+re+"/ig") return s.match(re).length;}var s = 'tools.jb51.net';alert(patch('t',s)); //弹出2...

2022-04-07 15:26:36 861

原创 CSS中的BFC是什么

BFC

2022-02-22 15:21:46 4823

原创 js限制字数

function textLength(str){ let a = 0 let limit = 200 //不能超出200个中文字符 if(str){ for(let i =0;i<str.length;i++){ if(str[i].charCodeAt()>0 && str[i].charCodeAt()< limitLength){ a+=0.5 }else{ a+=1 } } if(a>2000){ c

2022-02-08 17:37:32 1021

原创 vue单向数据流

vue单向数据流的理解?父组件向子元素传值,子组件无法直接修改父元素传过来的数据,即子组件无法直接修改props里面的值为什么要使用单向数据流?父组件传来的值可能会不断发生变化,例如:父组件传了一个8,子组件直接修改为5,父组件又将它改为6,这样会影响子组件的使用,所以在子组件中直接用 v-model 绑定父组件传过来的数据是不合理的如何解决:(1)在子组件 data 中创建一个变量获取 props 中的值,再改变这个 data 中的值。(2)子组件使用 $emit 发出一个事件,让父组件接收去

2022-02-07 10:55:19 440

原创 setTimeout不是异步

众所周知,js跟Java(可多线程)不一样,js是单线程,即只有一个主线程,后面的代码只能等前面的执行完才能执行。为什么js不设置多线程呢?JavaScript作为浏览器的脚本语言 最主要的用途就是与用户进行交互 这决定了它只能是单线程 否则就会带来很复杂的同步问题如: 假设JavaScript同时有两个线程 一个线程在删除一个元素 另一个线程又在这个元素上添加内容 那么这个时候浏览器该如何处理呢?因为不能确定在同时执行这两段代码时 删除元素一定在添加内容之后 如在之前就会报错。关于异步问题什

2022-01-07 19:19:42 1189

原创 js数组深拷贝

很多文章里面提到concat和slice可以实现深拷贝,这其实是错误的。例如:const arr = [{name: 'wens'},{age: '26'}];当数组里的值是引用类型时,还是会出现问题,所以这两个方法只是浅拷贝。什么是深拷贝:深拷贝就是增加一个指针(栈内存)申请一个新的堆内存, 并让这个指针指向这个堆内存. 当我们需要复制源对象而又不能修改源对象的时候, 深拷贝就是你想要的.常见的深拷贝方法:1、JSON.parse(JSON.stringify(obj)),2、jQuery

2022-01-06 10:36:28 1049

原创 getYear和getFullYear的区别

getYear是1900年距离现在多少年,例如现在是2021年,那么getYear()得到的应该是121

2021-12-21 10:04:13 1013

原创 前端利用Blob实现文件导出

Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取。Blob 是一个构造函数,创建一个 Blob 的操作如下:/** 下载excel文件流 * @params data [Object] 文件流 * type [String] 数据的 MIME 类型 */ new Blob([data], {type})代码实现:// 以axios请求为例axios({ method: 'POST', url: xxx,// 这里

2021-12-20 16:52:29 2501

原创 width100%和auto的区别

width: auto子元素(包括content+padding+border+margin)撑满整个父元素的content区域。子元素有margin、border、padding时,会减去子元素content区域相对应的width值父元素的content = 子元素(content + padding + border + margin )width: 100%强制将子元素的content区域 撑满 父元素的content区域子元素有margin、border、padding时,不改变子元素c

2021-11-24 10:23:39 91

原创 HbuilderX连接苹果手机调试app

1、电脑下载iTunes Store,并输入AppID和密码登录2、电脑下载iTools4版本3、USB连接手机和电脑,若有弹窗则点击信任3、重启HBuilder4、HBuilder菜单栏:运行——》运行到手机或模拟器5、运行后手机上会出现HBuilder App,但是点不进去,解决办法:手机——》设置----通用----设备管理-点击信任...

2021-10-29 15:22:39 1688

原创 滚动事件scroll与wheel的区别

scroll是页面滚动条滚动会触发的事件,而wheel是鼠标滚轮滚动会触发的事件。一旦滚动条到底部后,滑动鼠标滚轮继续滚动,wheel就会一直触发,而scroll不会触发。

2021-10-08 10:23:21 2050

原创 v-model绑定对象属性时失效

解决办法:<u-checkbox size="40" v-model="item.checked" v-for="(item, index) in list" :key="item.id" :name="item.name">{{item.name}}</u-checkbox>js中:this.$set(item,'checked',true);

2021-09-27 17:55:22 1869

原创 uniapp中globalData刷新后会丢失

globalData只是一种变量缓存,刷新后就会丢失。解决办法:使用uniapp本地缓存

2021-09-26 16:37:41 1761

原创 uniapp声明式导航和编程式导航

声明式导航:<navigator url="navigate/navigate?title=navigate" hover-class="navigator-hover"> <button type="default">跳转到新页面</button></navigator>编程式导航:uni.navigateTo({url:’’}) …

2021-09-23 11:04:55 301

原创 uniapp条件编译

html中<!-- #ifdef H5 --> <view>h5</view><!-- #endif -->js中// #ifdef H5 console.log("h5")// #endifcss中/* #ifdef H5 */ view{ color: hotpink; }/* #endif */

2021-09-23 11:01:17 95

原创 微信小程序分包

注意:tabBar的页面一定要放在pages下面,不能放分包下面去注册{ “pages”:[{ "path": "pages/login/login", }], "subPackages": [{ "root": "pagesA", "pages": [{ "path": "show/show", //这边是相对于root的相对路径 "style": { "navigationBarTitleText": "展示", "enablePullDownRefr

2021-09-23 09:55:08 93

原创 兄弟组件间通信

$on注册全局事件$emit触发事件

2021-09-22 14:17:50 44

原创 vue动态绑定class

1、对象方式:class="{ 'active': isActive }"添加判断:class="{'active':isActive==-1}" 或者:class="{'active':isActive==index}"绑定并判断多个第一种(用逗号隔开):class="{ 'active': isActive, 'sort': isSort }"第二种(放在data里面)//也可以把后面绑定的对象写在一个变量放在data里面,可以变成下面这样:class="classObjec

2021-09-17 16:02:45 116

原创 es10 flat的使用

处理多维数组,例如将[1,2,3,[4,5,[6,7]]转换成一维数组:[1,2,3,4,5,6,7]var arr = [1,2,3,[4,5,[6,7]]console.log(arr.flat(2))

2021-09-13 15:50:22 152

原创 Object.assign的用法

Object.assign(target,source1,source2)方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。注意点:1、assign是浅拷贝,此方法只拷贝源对象的自身属性,不拷贝继承的属性,不能拷贝prototype,不拷贝不可枚举的属性(enumerable: false)。2、如果source某个属性的值是对象,那么assign拷贝的是这个对象的应用3、如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性

2021-09-07 11:31:12 609

原创 Object.getOwnPropertyNames() 与 Object.keys() 的区别

共同点:都是用来获取对象中所有的属性不同点:那就是 Object.keys() 返回的是所有可枚举属性,而 Object.getOwnPropertyNames() 返回的是对象所有的属性

2021-09-07 10:08:17 148

原创 判断对象是否为空{}

将 json 对象转化为 json 字符串,再判断该字符串是否为 “{}”var obj = {};var res= (JSON.stringify(data) == "{}");console.log(res);//truejQuery 的 isEmptyObject 方法var obj = {};var res= $.isEmptyObject(data);console.log(res);//true3.Object.getOwnPropertyNames方法使用该方法获.

2021-09-07 10:06:16 149

原创 uniapp去除顶部导航栏

"globalStyle": { "navigationBarTextStyle": "white", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#007AFF", "backgroundColor": "#FFFFFF", "navigationStyle":"custom", "app-plus":{ "titleView":false } }

2021-08-17 11:20:58 818

原创 vue 项目@change多个参数传值多个事件的操作

方法一:@change='selectChange($event,id)'方法二:@change='(val)=>selectChange(val,id)'

2021-07-28 14:43:21 1068

原创 layui table根据状态显示操作按钮

<script type="text/html" id="barDemo"> {{# if(d.status== "0" || d.status== "1"){ }} <a class="layui-btn layui-btn-xs" lay-event="edit" style="color: #fff;">编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-even

2021-07-23 17:23:26 984

原创 layui table隐藏一列

只需要在那一列加上hide:true{ field: 'name', title: '名称', sort: true, hide:true }

2021-07-22 17:43:29 404

原创 layui表格数据接口

layui表格对数据格式比较严格标准格式如下:{ "code": 0,//注意code必须为0 "msg": "", "count": 1000, "data": [{}, {}]}

2021-07-22 17:41:20 1623

原创 layui动态赋值select无效

赋值后需要重新渲染,加一行:form.render('select')

2021-07-14 15:48:38 707

原创 layui select样式不起作用

必须给表单体系所在的父元素加上 class=“layui-form”

2021-07-14 15:46:44 1632

echarts.zip

使用renderItem函数自定义柱状图

2021-06-29

大屏展示案例DaShuJuZhiDaPingZhanShi.rar

大屏展示案例

2021-04-16

normalize.css

这是一个基本样式,能够帮助我们解决在我们没有编辑基本样式的时候各个浏览器默认情况的不匹配

2021-04-16

loading.zip

小程序分页(上拉、下拉加载)!小程序分页(上拉、下拉加载)!小程序分页(上拉、下拉加载)!,使用拼接方式,以及判断是否还有数据,希望可以给你们一些帮助

2020-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除