- 博客(84)
- 资源 (4)
- 收藏
- 关注
原创 cesium绘制雷达,含静默区
本文介绍了基于Cesium的雷达扫描效果实现方法。通过自定义材质(Shader)实现了双拖尾雷达扫描动画,包含以下关键技术点:1) 使用帧数计算动态扫描角度;2) 实现180度对称的双扫描线效果;3) 添加170°-190°范围的扇形区域;4) 绘制网格辅助线和距离标记。代码通过纹理坐标计算像素位置,应用角度差和距离判断实现动态效果,支持自定义扫描速度、颜色和宽度等参数。该方案可应用于地理信息系统的可视化场景。
2025-12-25 20:07:34
12
原创 cesium创建遮罩区域
本文介绍了基于Cesium的遮罩图层实现方法。代码通过maskArea.js模块提供了区域遮罩功能,主要特点包括:1) 使用缓存优化性能,预定义遮罩颜色、轮廓线颜色等静态资源;2) 支持多区域遮罩处理,自动转换坐标并生成唯一ID;3) 实现两种遮罩效果:局部半透明遮罩和全局背景遮罩;4) 为每个遮罩区域添加轮廓线增强可视化效果。该模块采用面向对象设计,返回包含实体对象、类型和分组信息的结构化数据,便于后续管理。
2025-12-24 17:11:32
7
原创 element plus组件Carousel组件3个卡片平铺样式改造
【代码】element plus组件Carousel组件3个卡片平铺样式改造。
2025-03-17 15:13:55
527
原创 vue3项目解决pinia报错:getActivePinia was called with no active Pinia. Did you forget to install pinia?
解决pinia报错: getActivePinia was called with no active Pinia. Did you forget to install pinia
2023-08-09 21:48:38
1572
原创 elementPlus dialog组件设置可拖动,当内容高度大于视口高度拖动显示异常的解决办法
elementPlus UI的dialog弹框组件在设置了draggable属性后就可拖动弹框,但是当弹框的内容高度大于视口高度时去拖动弹框就会出现显示问题。
2023-07-27 20:57:23
1616
5
原创 前端上传大文件处理(切片、断点续传)
思路1.对文件做切片,即将一个请求拆分成多个请求,每个请求的时间就会缩短,且如果某个请求失败,只需要重新发送这一次请求即可,无需从头开始2.通知服务器合并切片,在上传完切片后,前端通知服务器做合并切片操作3.控制多个请求的并发量,防止多个请求同时发送,造成浏览器内存溢出,导致页面卡死4.做断点续传,当多个请求中有请求发送失败,例如出现网络故障、页面关闭等,我们得对失败的请求做处理,让它们重复发送前端步骤1- 切片,合并切片在JavaScript中,文件FIle对象是Blob对象的子类,Blob
2022-01-25 11:19:40
5789
5
原创 全屏显示函数
var runPrefixMethod = function (element, method) { var usablePrefixMethod; ["webkit", "moz", "ms", "o", ""].forEach(function (prefix) { if (usablePrefixMethod) return; if (prefix === "") {
2021-11-10 11:21:03
226
原创 前端get/post请求下载文件多种方式
1、最常见的window.open(url)可以满足就是get请求,参数在url中。2、POST请求第一种前后端约定格式为字符串格式$.ajax({ url:urls, type:"POST", data:args, responseType:'blob', success:function(res){ download(res,$('#allExport_eventName').val()) }});function downlo
2021-09-16 11:03:46
6082
原创 动态加载中效果
<html> <head> <style> /*遮罩效果*/ .loader{ color:#fff; position:fixed; box-sizing:border-box; left:-9999px; top:-9999px; width:0; height:0; overflow:hidden; z-index:999.
2021-09-07 15:07:31
238
原创 从一段字符串中提取JSON字符串并进行高亮格式化
需求:后台传过来一段字符串文本,需要从这段字符串中提取json字符串并在前台json格式化高亮显示1.提取json字符串注:当字符串中没有出现json字符串时返回null;function getJson(jsonStr) { var stringStack = new stack(); var indexList = []; var jsonList = []; for (var i = 0; i < jsonStr.length; i++) {
2021-06-07 15:03:30
2302
原创 echarts x、y轴设置了interval最后一项标签字体变粗的问题
interval不仅仅可以是数值,也可以是函数axisLabel:{interval:(i,v)=> true}这样就可以了
2021-04-09 11:41:25
1030
原创 前端常用工具方法
/** * 邮箱 * @param {*} s */export const isEmail = (s) => { return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)}/** * 手机号码 * @param {*} s */export const isMobile = (s) => { return /^1[0-9]{10}$/.test(s).
2020-08-10 17:57:39
338
1
原创 CSS3中使用calc()设置浏览器宽度和高度减去固定值的写法
设置宽度:width:calc(100vw - 123px);说明:1、vw是width of view(port)的缩写;2、100vw表示百分之百的视图宽度;3、123px是需要减去的宽度;4、减号的两边必须都有至少一个空格。设置高度:height:calc(100vh-123px);说明:1、vh是height of view(port)的缩写;2、100vh表示百分之百的视图高度;3、123px是需要减去的高度;4、同理减号的两边必须都有至少一个空格。注意:切勿写成 calc(1
2020-08-04 14:37:01
9190
原创 vue 路由跳转记住滚动位置,返回时回到上次滚动位置
方法一: 利用Keep-Alive和监听器1.首先在路由中引入需要的模块{ path: ‘/scrollDemo’, name: ‘scrollDemo’, meta: { keepAlive: true // 需要缓存 }, component: resolve => { require([‘../view/scrollDemo.vue’], resolve) } } 2.在App.vue中设置缓存组件<ke
2020-06-05 15:59:55
1556
1
原创 github git push报错“Broken pipe”
在git push的时候出现了一个报错,如下图查了一下是因为github在push的时候默认对上传文件大小做了限制,只能上传100m以内的。利用下面的命令将限制大小调整一下就可以了git config http.postBuffer 52428800...
2020-05-09 22:08:54
863
原创 关于mysql安装遇到的坑(windows)
mysql安装参考文章:菜鸟教程安装步骤#下载#安装下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。注:绝对路径中最好不要有中文,别问为什么接下来我们需要配置下 MySQL 的配置文件打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.in...
2020-05-08 00:38:39
631
原创 js实现Base64编码解码
var Base64 = { _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function(e) { var t = ""; var n, r, i, s, o, u, a; var f = 0; e = Base64._utf8_encode(e);...
2020-04-28 12:27:28
585
原创 判断网站访问类型
我们在做项目的时候会有根据访问类型来做一些处理,下面是判断访问类型为电脑PC还是手机。if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) { document.write("手机访问."); }...
2020-04-06 18:25:11
574
原创 cookie相关操作(增删改查)
获取cookiefunction getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) re...
2019-12-12 13:15:35
226
原创 判断浏览器类型
/** * BOM * -浏览器对象模型 * -BOM可以使我们通过JS来操作浏览器 * 在BOM中为我们提供了一组对象,用来完成对浏览器的操作 * BOM对象 * window * 带包整个浏览器的窗口,同时widow也是网页中的全局对象 * Navigator * 代表当前浏览器的信息,通过该对象可以来识别不同...
2019-12-12 11:22:22
211
原创 设置页面字体跟随屏幕大小变化
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = functi...
2019-11-21 17:25:02
2491
2
原创 css实现遮罩层动画
看效果css<style> #cover{ text-align: center; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background-color: rgba(0,0,0,0.3); display:none; ...
2019-11-15 12:08:57
3260
2
原创 edge浏览器报错 "*this*" is not defined以及微信浏览器无法打开vue项目的解决办法
edge浏览器报错 “this” is not defined看报错经过一番排查发现,是vue在取值的时候,写了一个多余的this这个this过去一直认为其实就是指向该区域的vue对象,所以写不写其实没关系,这个代码在谷歌和ie都没问题,唯独在这个edge浏览器报错,去掉这个this就没问题了。微信PC浏览器无法打开vue项目网上看了很多关于此问题的解决办法,有说是es6语法的问题,...
2019-11-13 13:15:07
1631
原创 js判断数据类型的几种方法
在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示:基本类型:String、Number、Boolean、Symbol、Undefined、Null引用类型:Object1、typeoftypeof 是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型。返回的结果用该类型的字符串(全小写字母)形式表示,包括以下 7 种:n...
2019-11-12 10:02:06
897
AES+ECB+pad-zeropadding+crypto-js加密
2019-07-23
jquery颜色选择器.zip
2019-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅