
js
js方法
wu_223
哈喽,大家好,我是一名web前端开发工程师,主用框架angular2以上,涉及的技术以地图leaflet方面居多,写的博客是在开发中遇到的问题,欢迎大家随时找我讨论
展开
-
angular xlsx-style,复杂表头样式导出
angular 导出复杂表头的表格,并加excel样式原创 2024-08-27 16:26:25 · 382 阅读 · 0 评论 -
js获取指定日期的前一年(需要判断闰年和平年)
js获取指定日期的前一年日期,分闰年、平年原创 2023-03-30 10:54:16 · 2496 阅读 · 1 评论 -
js 计算文件大小
js计算文件大小原创 2023-03-29 10:49:40 · 516 阅读 · 0 评论 -
FileSaver+XlSX表格导出angular版
file-saver+xlsx表格导出原创 2023-02-02 12:23:15 · 353 阅读 · 0 评论 -
post传递json值给后台
vue post json传值原创 2022-09-09 17:19:25 · 969 阅读 · 0 评论 -
js eval 去除数组外边的双引号
js eval取初数组外边双引号原创 2022-08-22 17:40:13 · 816 阅读 · 0 评论 -
js保存当前页面的截图 (leaflet下载当前页面截图,线会偏移问题解决)
这是保存的leaflet地图,leaflet必须用上一个属性L.canvas才可以保证geojson数据准确上代码:html <div id="map" class="map"></div>ts代码: var mapid = document.querySelector('#map'); const scale = window.devicePixelRatio; // // 传入节点原始宽高 const _width = ma原创 2022-05-19 09:07:24 · 875 阅读 · 4 评论 -
js 把手机号分割,加-线 111-1111-1111
splitPhone(str) { if (str.length !== 11) return str var arr = str.split('') arr.splice(3, 0, '-'); arr.splice(8, 0, '-'); return arr.join(""); } //打印:156-0130-1019 console.log(this.splitPhone("15601301019"));...原创 2022-04-13 16:27:51 · 1239 阅读 · 0 评论 -
js 防抖
防抖函数的定义是当事件触发完成之后再延迟触发,并且只触发一次;如果频繁滚动就会刷新定时器,这样就不会执行函数,如果停止后,一秒后才会继续执行下边例子是滚动停止一秒后执行,也可以是input输入,停止后再执行ngOnInit(){ window.onscroll = e => { this.debounce(this.showTop, 1000) }}showTop() { var scrollTop = document.body.scrollTop || docume原创 2022-03-25 10:52:37 · 720 阅读 · 0 评论 -
js 中forEach map filter some every的区别
1,forEach循环,循环数组中每一个元素并采取操作, 没有返回值, 可以不用知道数组长度2,map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新的数组,原数组不变3,filter函数, 过滤通过条件的元素组成一个新数组, 原数组不变4,some函数,遍历数组中是否有符合条件的元素,返回Boolean值5,every函数, 遍历数组中是否每个元素都符合条件, 返回Boolean值当然, 除了遍历数组之外,还有遍历对象,常用方...转载 2022-03-24 16:14:06 · 207 阅读 · 0 评论 -
json转义成后端认可语言,只是单个的转义
比如,如下Json转义{"1":"#FF0000"}直接复制其Json到谷歌浏览器地址输入栏粘贴搜索,谷歌自动给你转了,你复制其中的q=后边的&前边的就行,如下图所示:原创 2022-01-21 14:32:30 · 225 阅读 · 0 评论 -
html,js 中如何屏蔽div子元素点击事件会触发父元素的点击事件($event.cancelBubble=true;)
要求,angular6中屏蔽父元素的点击事件($event.cancelBubble=true;)<div (click)="select($event)"> <div (click)="delete(node);$event.cancelBubble=true;"></div></div>...原创 2020-04-07 13:35:43 · 1848 阅读 · 0 评论 -
js Date日期格式转换
输出结果:方法 dateFtt(fmt, date) { //author: meizz var o = { "M+": date.getMonth() + 1, //月份 "d+": date.getDate(), //日 "h+": date.getHours(), //小时 "m+": date.getMinutes(), //分 "s+": date.getSecon..原创 2021-12-27 17:47:39 · 822 阅读 · 0 评论 -
js 屏幕字体大小,怎么设置滚动的高度
var table1=document.getElementById("left1").clientHeight //234是其余的高度,剩下的就是滚动的高度了 var height=document.body.clientHeight-234; document.getElementById("left1")["height"]=height+"px"原创 2021-12-21 15:05:38 · 322 阅读 · 0 评论 -
js 日期计算加上小时 ,string转换成date格式,getHours()方法报错
日期格式必须是date的标准格式 ,例如: 2021-12-13 09:00:00,不是自动补全 var time="202112130900" //分割时间法 2021-12-13 09:00:00,必须拼接成这个,getHours()才能用 time=time.substring(0, 4)+"-"+time.substring(4, 6) +"-"+ time.substring(6, 8)+" "+time.substring(8, 1...原创 2021-12-17 17:18:18 · 469 阅读 · 0 评论 -
table点击表格背景颜色变化,表格跟其余联动点击
效果如下:1. 表格代码 <nz-table #infoTable [nzData]="infoData" [nzScroll]="{ y: '350px', x: 'auto' }" [nzShowPagination]="false" nzFrontPagination="false" > <thead> <tr> <th>名.原创 2021-12-16 14:44:11 · 379 阅读 · 0 评论 -
js ...的作用
1. 可以使两层结构分别展开(如果再加一层的话就不行了) var k=[[1,2],[3,4]]; console.log(k); console.log(...k);输出的结果就如下所示,这样就可以直接使用了原创 2021-12-14 11:10:47 · 1313 阅读 · 0 评论 -
js 中set的用途 add delete has clear
本文中用途是存一个表格的id,用来做checkbox的添加,删除操作1. 首先讲解操作let set = new Set([1, 2, 3, 4, 4]);// 添加数据 5let addSet = set.add(5);console.log(addSet); // Set(5) {1, 2, 3, 4, 5}// 删除数据 4let delSet = set.delete(4);console.log(delSet); // true// 查看是否存在数据 4let ...原创 2021-12-08 09:57:11 · 752 阅读 · 0 评论 -
js unix时间戳转换时间 new Date(date*1000)
var date="1637811686" var newDate = new Date(date*1000);//Thu Nov 25 2021 11:42:26 GMT+0800 (中国标准时间)console.log(newDate);原创 2021-11-25 13:52:55 · 1115 阅读 · 0 评论 -
angular定义未知key的object
1. 定义nameEchart:{ [key: string]: any } = {};2. 用法this.nameEchart[id]="一个变量"原创 2021-11-19 08:59:45 · 652 阅读 · 0 评论 -
js 计算日期,几分钟,几小时,刚刚,几天,几月,几年
1. 首先展示一下输出结果2. 调用//调用timeNow方法 new Date是把string转换成dateconsole.log(this.timeNow(new Date('2021-11-18 8:10:10')))3. 方法 timeNow(updateTime) { if (updateTime === null) { return '' } let now = new Date().getTime() let se...原创 2021-11-18 09:52:21 · 655 阅读 · 0 评论 -
angular12组件切换移除定时器ngOnDestroy(),clearInterval()
setInterval设定后,组件切换后(anuglar生命周期函数销毁执行方法ngOnDestroy()),定时器还存在,需要移除掉定时器clearInterval()setTime:any;//组件初始化创建定时器ngOnInit(){ this.setTime = setInterval(() => { console.log("每五秒执行一次"); //定时器执行的内容 }, 5000);}//离开组件时执行n原创 2021-10-25 17:02:27 · 1225 阅读 · 1 评论 -
js 计算两个时间的之间的天数
1. 方法计算space(startTime, endTime) { //startTime和endTime是2006-12-18格式 var dateSpan, tempDate, dates; startTime= Date.parse(startTime); endTime= Date.parse(endTime); dateSpan = endTime- startTime; dateSpan = Math.abs(d.原创 2021-09-23 14:42:41 · 687 阅读 · 0 评论 -
animate动画开始(webkitAnimationStart)结束(webkitAnimationEnd)执行事件
html代码:<div id="animateId"></div>css代码:#animateId{ color: #fff; background-color: red; width: 400px; height: 400px; -webkit-animation: transform 3s 2 ease;}@-webkit-keyframes transform { 0%{ -webkit-tra原创 2021-09-18 10:47:31 · 481 阅读 · 0 评论 -
js获取当前月份的天数
代码如下: var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = new Date(year, month, 0); //例如八月份,31天 console.log(day.getDate());原创 2021-08-17 11:16:49 · 3085 阅读 · 0 评论 -
js object数据按照时间升序排列
var products=[{ name: '时间一', time: '2021-1-1' }, { name: '时间二', time: '2021-4-1' }, { name: '时间三', time: '2021-3-1' }, { name: '时间四', time: '2021-2-1' }] products = products.sort(function (..原创 2021-08-13 15:30:15 · 367 阅读 · 0 评论 -
Object.assign() 对象复制,对象合并
1. 如果target跟source都含有相同的key,则source的key的值覆盖掉target的key的值 其结果都返回总值const target = { a: 1, wu: 2 };const source = { wu: 4, c: 5 };const targetR= Object.assign(target, source);console.log(target);// 结果为:{ a: 1, wu: 4, c: 5 }console.log(targe...原创 2021-08-10 16:38:51 · 228 阅读 · 0 评论 -
js 添加遮罩层(加载中效果)
1. 添加遮罩层 this.mask = document.createElement('div'); this.mask.style.width = window.innerWidth + 'px'; this.mask.style.height = window.innerHeight + 'px'; this.mask.style.background = '#fff'; this.mask.style.opacity = '.1'; this.mask.原创 2021-07-19 15:41:52 · 2469 阅读 · 2 评论 -
angular4时间转换,js保留两位小数点(分值转换),angular4前端管道保留两位小数,时间格式化(管道)
一、 angular4时间转换1. var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");2. 在ts中注入datePipe管道,import { DatePipe } from '@angular/common'; constructor( private datePipe: DatePipe ) {}再mod...原创 2018-05-29 15:26:43 · 6276 阅读 · 0 评论 -
Promise.all等待方法执行完毕再执行
p1,p2,p3需要先进行计算或者请求,等请求完成后,再执行Promise.all里的then(这个可以替代settimeout,毕竟settimeout不知道有些需要执行的时间)var p1 = Promise.resolve(3);var p2 = 1337;var p3 = new Promise((resolve, reject) => { setTimeout(resolve, 100, 'foo');});Promise.all([p1, p2, p3]).then(v原创 2021-07-02 16:13:15 · 4381 阅读 · 0 评论 -
元素隐式具有“any” 类型,因为索引表达式的类型不为‘number‘ (angular12集成cesium)
1. 错误写法为:window["CESIUM_BASE_URL"]="src/assets/cesium"2. 正确写法为:(window as any).CESIUM_BASE_URL = 'src/assets/cesium/';原创 2021-05-27 15:33:50 · 5824 阅读 · 1 评论 -
前端js--双重判断,是否选择
问题事例: 登录一个用户,把该用户有的权限回显在树形列表的checkbox中 1.获取所有的权限遍历powers-power 2. 先一个变量 var flag,然后根据用户获取该用户有的权限遍历profiles-profile 3. if(power["id"]==profile["id"]){ fla...原创 2018-04-12 12:13:37 · 1814 阅读 · 0 评论 -
js获取的当前时间的月份--getFullYear()、getMonth()、getDate(),本示例是获取当前月份的开始跟结束
1. 首先获取当前时间的月份值 var e=new Date()2. 然后从当前时间获取年份跟月份进行拼接,分开始时间和结束时间(本月初到下个月月初即本个月的值) this.startTime=e.getFullYear()+"-"+(e.getMonth()+1)+"-1"; if((e.getMonth+1)==12){ this.endTime=e.getF...原创 2018-05-22 11:25:51 · 4773 阅读 · 0 评论 -
js input 框输入监听事件(keyup、nzBlur)
<input type="text" placeholder="名称" (keyup)="searchDataByName()" (nzBlur)="tab($event)"> <script> function tab(event){ console.log(event); }</script&g原创 2018-10-22 14:37:14 · 4093 阅读 · 0 评论 -
Object.defineProperty 是修改对象的某一属性并返回该对象
修改rect中id为1,一般用于给循环中的id赋值,方便以后使用,本次使用于地图中点位的赋值操作 Object.defineProperty(rect, "id", { value: 1, configurable: true, //可以删除 enumerable: true // });...原创 2018-11-14 16:02:56 · 809 阅读 · 0 评论 -
html+css+js获取当前推前一天,当月推前一月
1. 获取当前时间的推前一天var startTime = this.datePipe.transform((new Date(new Date().getTime() - 24 * 60 * 60 * 1000)), "yyyy-MM-dd HH:mm:ss"); // 当前时间的前一小时var endTime = this.datePipe.transform((new Date(n...原创 2018-11-27 12:27:25 · 615 阅读 · 0 评论 -
js 集合中删除某个属性name-forEach(delete)、map(rest),forEach删除某一行属性(filter), map获取index,angular6 *ngFor获取index
1. 如果想删除tableData集合中的name属性,需要用forEach遍历tableData集合,然后在遍历过程中,直接调用delete item.name, 就可以把集合中的name属性删除掉var tableData=[ { name:"小武", value:"a" }, { name:"小刘", ...原创 2019-02-21 16:36:48 · 2349 阅读 · 2 评论 -
for循环中使用settimeout和清除clearTimeout
type==1是循环添加settimout,type==2是循环终止clearTimeouttimeOut=[];shutterAnalysis(type){ if(type == 1) { //添加的方法 for (var i = 0; i < 10; i++) { (function (i) { tha...原创 2019-04-25 16:37:51 · 4285 阅读 · 0 评论 -
js mouseenter,mouseleave等鼠标怎么能触发两个方法呢?
用分号隔开就好mouseenter="show();hide()"原创 2019-05-22 12:00:09 · 1405 阅读 · 0 评论 -
js获取url传递过来的参数
//地址:http://www?username=小武,控制台打印 小武console.log(getParams("username")); function getParams(name) { var pos, str, para, parastr; var array = [] str = window.location.href; if ...原创 2019-06-13 15:17:05 · 1640 阅读 · 0 评论