
js
路光.
这个作者很懒,什么都没留下…
展开
-
解决input事件监听拼音输入法导致高频事件
1.业务场景在文本框中输入内容,执行查询接口,但遇到一个问题,当用拼音打字写汉字去搜索的时候,会输入一些字母拼成汉字,怎么能监听等拼音文字输入完成后再触发文本框监听事件原创 2022-10-20 20:38:57 · 851 阅读 · 0 评论 -
js 实现自动滚动 缓慢滚动元素到可视区域
在页面进行滚动元素到可视区域的时候,一般都使用跳转href加#的方式进行锚点定位,但是有缺陷(1)只适用于整体网页的锚点定位,不能对于某个区域的进行定位滚动(2)在框架中如果路由使用hash则再使用锚点定位(#)就不起作用了原创 2023-12-29 22:45:12 · 2187 阅读 · 0 评论 -
websocket实现实时变化图表内容
websocket实现实时变化图表内容原创 2022-08-09 09:02:28 · 311 阅读 · 0 评论 -
vue如何自定义修改网页title
document.title='title名称'在vue中可以在前置守卫中修改或vue页created钩子中执行修改title原创 2021-12-29 11:05:36 · 1158 阅读 · 0 评论 -
(随机数)一行代码实现字母数字结合的随机数
const str=Math.random().toString(36).substr(2,10);原创 2021-10-12 13:18:40 · 209 阅读 · 0 评论 -
检查用户的设备是否处于暗黑模式
const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches console.log(isDarkMode);原创 2021-10-08 11:23:44 · 417 阅读 · 0 评论 -
从URL获取查询参数
<script> /*可以通过传递 window.location 或原始 URL goole.com?search=easy&page=3 轻松地从 url 检索查询参数*/ const getParameters = (URL) => { URL = JSON.parse( '{"' + decodeURI(URL.split("?")[1]) .replace(/.转载 2021-10-08 11:10:55 · 181 阅读 · 0 评论 -
js获取与清除cookie的值
<script> /*获取cookie的值*/ const cookie =name=>`;${document.cookie}`.split(`; ${name}=`).pop().split(';').shift(); console.log(cookie('BMAP_SECKEY2')); /*清除全部cookie*/ const clearCookies = document.cookie.split(';'). forEach(c.原创 2021-10-08 11:09:13 · 464 阅读 · 0 评论 -
Vue2的响应式实现,Vue3的响应式实现
Vue2的Object.defineproperty的数据劫持<input id="username" />显示输入的值:<div id="userNames"></div>//实现数据劫持双向绑定let obj={};let name="": 对象 对象属性Object.defineproperty(obj,'username',{ get:function(){ .原创 2021-09-27 11:29:27 · 218 阅读 · 0 评论 -
apply与call
它们共同的含义:都是一个对象劫持另一个对象的方法,继承另一个对象的属性相同点:都可以改变this的指向不同点:他们的参数call可以写多个参数apply只能有两个参数(所以第二个参数可以放置数组或类数组arguments)他们存在的意义实现多重继承方法的属性都是一个对象劫持另一个对象的方法,继承另一个对象的属性的举例子:function first(name,age){ this.name=name; this.age=age;}function.原创 2024-01-04 20:51:14 · 570 阅读 · 0 评论 -
Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>)
是转换出错,也就是说本是 JSON 字符串,但是其实是一个空对象。所以我们只要在使用JSON.parse ()前,判断下是否有值若为非空则执行JSON.parse原创 2021-07-08 08:20:24 · 1881 阅读 · 0 评论 -
el-upload实现文件上传及转成base64前端读取图片展示及向后端传递文件时axios的Content-type类型改为multipart/form-data;charset=utf-8
<el-upload ref="dynamic" :file-list="fileList" :limit="3" class="float-left" :headers="{'Content-Type':'multipart/form-data'}" action="#" :on-change="(res,fileList)=>{changeUpload(item,indexF,res,fileList)}" list-type.原创 2021-06-26 22:56:48 · 2708 阅读 · 0 评论 -
echarts柱状图的使用积累
echarts柱状图的使用let myCharts=this.$echarts.init(document.getElementById('ranking')); myCharts.setOption({ //设置鼠标移入显示提示窗 tooltip: { trigger:'axis', **自定义tooltip** formatter(params){ //以原创 2021-06-21 22:01:28 · 178 阅读 · 2 评论 -
uniApp实现Tab切换,及监听滚动设置Tab固定,Tab内容可滚动
1.实现tab切换调用,使用插件TABS,此插件使用了Stylus预处理,问题:需要下载使用,问题其中有原创 2021-06-16 09:26:08 · 3405 阅读 · 0 评论 -
Vue解决使用window.onscroll时报 Uncaught TypeError: 相关错误
Uncaught TypeError: Cannot read property 'offsetLeft' of undefinedat window.onscroll原创 2021-05-13 13:12:22 · 524 阅读 · 0 评论 -
拖拽排序表格(sortable)
<!--html--> <el-table class="margin-medium-top table" :cell-style="{'text-align':'center'}" :data="tableData" border :header-cell-style="headerCellStyle" style="width: 100%" v-l...原创 2021-05-13 10:49:53 · 722 阅读 · 0 评论 -
设计左侧目录根据顶部内容切换目录及返回目录依然保持切换的方法
顶部默认加载,接口查出相关顶部导航左侧根据顶部查出左侧目录内容每次点击顶部指定导航,左侧根据顶部所选目录查出内容点击浏览器的顶部的返回上一级导航或进入下一级导航根据popstate监听,从而之后根据即将跳转到的路由,后端查出左侧目录,// 事件 调用的方法 false为冒泡传递,true为捕获传递适用于点击事件或滚动事件这种触发事件wi...原创 2021-05-05 12:48:43 · 142 阅读 · 0 评论 -
点击按钮将指定盒子至于顶部(实现滚动效果)
首先通过数组的遍历,给标签设置name的值,通过此name获取此标签的offsetTop//点击此将a标签置于盒子顶部<div @click="selectType('a')">按钮</div>//我是a标签<div name='a'>a</div>methods:{ selectType(val){ let zhi=document.getElementByName(val); //注意如果位置滚...原创 2021-04-11 22:04:06 · 823 阅读 · 0 评论 -
用JS进行Base64编码,解码
从IE10+浏览器开始,所有浏览器就原生提供了Base64编码、解码方法,不仅可以用于浏览器环境,Service Worker环境也可以使用。window.btoa('china is so nb') // 编码//结果:"Y2hpbmEgaXMgc28gbmI="window.atob("Y2hpbmEgaXMgc28gbmI=") // 解码//结果:"china is so nb"IE8/IE9的polyfill 当下,仍有不少PC项目还需要兼容IE9,所以,我们可以专门针对这些.转载 2021-03-30 13:27:56 · 300 阅读 · 0 评论 -
JS 中 appendChild只允许追加不同的内容
let zhi=`<div>秀儿</div>`;document.body.appendChild(zhi);document.body.appendChild(zhi);//最终body中的内容是<div>秀儿</div>//此方式可扩展//如:作样式弹窗,重复点击按钮,弹窗只能追加一次,不会追加多次...原创 2021-01-11 21:34:00 · 402 阅读 · 0 评论 -
Vue监听浏览器缩放,控制导航栏显示
//必须放在mounted中,因为放在created中未获取dom节点 mounted(){ //等待dom渲染完毕再加载 this.$nextTick(()=>{ var p = navigator.platform; let mac = p.indexOf("Mac") === 0; ...原创 2021-01-05 17:14:43 · 1947 阅读 · 0 评论 -
工作中ES6代码片段,总结
//1.如何隐藏所有指定元素const hide=(...el)=>[...el].forEach(e=>(e.style.displa="none"))//使用方式hide(document.querySelectorAll('.xiuer'));//2.如何确认元素是否具有指定的类const hasClass=(el,className)=>el.clssList.contains(className);//使用方式hasClass(document.querySel.转载 2021-01-02 19:39:41 · 106 阅读 · 0 评论 -
Vue设置权限列表目录
首先:后端所传内容是:accessList:1,2,3,4,5,6,7,8 //每一个值代表一个功能前端接收:目录固定也是一个值代表一个功能,可根据后端返回的值与前端固定目录中的值作比较,如果后端有这个值有,则前端接收这个值显示此功能目录前端默认列表:accessDefault:{ '功能一':false, '功能二':false, '功能三':false}代码处理://先转成数组,再转成maplet zhi=accessList.split(','...原创 2020-12-30 13:35:22 · 359 阅读 · 0 评论 -
js生成二维码及解决二维码在微信中不能识别
在Vue项目中需要下载:qrcodejs2使用命令:npm installqrcodejs2yarn addqrcodejs2js中引用:<script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>html: <div id="codeDiv" style="d...原创 2020-12-29 15:11:37 · 1755 阅读 · 0 评论 -
Vue app项目发现按手机的返回键应用直接退出了
//最近vue做个项目,发现按手机的返回键应用直接退出了,而不是返回上一页,为此特//意解决了这一问题,具体代码如下:document.addEventListener('plusready', function() { var webview = plus.webview.currentWebview(); plus.key.addEventListener('backbutton', function() { webview.canBack(function(e) { .转载 2020-12-26 12:53:08 · 2387 阅读 · 3 评论 -
关于分页 设置所有数据的唯一值,从一开始
分页:(当前页码-1)*分页大小+1=分页id原创 2020-11-30 19:56:47 · 199 阅读 · 0 评论 -
H5 aliplayer的各种坑
https://www.cnblogs.com/qijinwen/p/8963373.html转载 2020-11-12 10:21:45 · 929 阅读 · 0 评论 -
js针对img类型的文件上传实例
<!--accept限制上传图片的类型格式是:image/*,或text/* multiple是多选设置--><input type="file" multiple accept="image/*" id="uploadInp"><!--将选择的图片做一个缩略图--><img src="" alt="" id="abbreImg"><script> let uploadInp=document.querySelecto.原创 2020-11-08 23:10:31 · 563 阅读 · 0 评论 -
将传入的参数以值一为key,值2为value的形式作为JSON接收
let obj={};obj['值一']=值2//结果为:{值一:值二}JSON.stringify(obj);//结果为:{'值一':值二}原创 2020-11-06 15:31:15 · 379 阅读 · 0 评论 -
Map转成JSON对象
实际场景:后端接口需要你传的参数是以上类型,由于是答题的场景,每次点击下一题则自动将题号作为键,选项作为值传入,等待所有题目答完统一传给后端let val1=1;let val2=2;let zhi=new Map();//map追加值得方式zhi.set(val1,val2);//将map转成JSON对象 function MapTOJson(m) { var str = '{'; var i = 1; m.forE原创 2020-11-04 20:41:30 · 1918 阅读 · 0 评论 -
图片延迟加载,进入视口后才会加载显示,默认给当前盒子设置宽高,加背景图片,当图片进入视口后图片才会覆盖背景
<style> html, body{ height:300%; } .lazyImageBox{ position: absolute; left:50%; top:1500px; transform:translateX(-50%); width:400px; h原创 2020-10-28 09:15:19 · 6 阅读 · 0 评论 -
JS实现拉动滚动条,查看内部内容
<style> *{ margin:0; padding:0; list-style:none; border:none; } #box{ width:800px; height:200px; border:1px solid #ddd; posit...原创 2020-08-12 17:15:06 · 423 阅读 · 0 评论 -
JS实现鼠标移入导航背景移动,点击固定离开回到原处的背景导航设置
JS实现鼠标移入导航背景移动,点击固定离开回到原处的背景导航设置<style> *{ margin:0; padding: 0 ; border:0; list-style: none; } body{ background-color: pink; } #nav{ wi原创 2020-08-12 15:31:49 · 440 阅读 · 0 评论 -
js实现照片墙效果
js实现照片墙效果 <script src="underScore.js"></script> <style> *{ margin: 0; padding: 0; border: 0; list-style: none; } html, body,ul{ width: 100%;原创 2020-08-12 12:40:28 · 1065 阅读 · 1 评论 -
js实现星星闪烁
js实现星星闪烁 <style> *{ margin:0; padding:0; } html body{ background-color: #000; } span{ width:30px; height:30px; background: #fff;原创 2020-08-12 12:35:05 · 615 阅读 · 0 评论