自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 cesium使用PolygonGeometry多边形实现分层单体化

cesium中用PolygonGeometry实现分层单体化。

2022-11-15 09:32:27 1840 1

原创 解决cesium中3dtiles模型随视角移动

我们在使用cesium的时候有时会遇到一个问题就是模型导入之后,模型没有固定住会随着视角的变化而移动,研究发现模型在地底下。我认为是建模的问题有可能是建模软件使用的坐标不是wgs84导致高程不一的原因,但我没试过。如果你觉的手动配置太low了,还有一个思路,但是我没试过;如果走通了,记得发我一份┗|`O′|┛ 嗷~~移动模型(原生js)

2022-10-18 17:15:48 2454 2

原创 中国各省份省会的坐标

中国省会的地图坐标

2022-06-06 12:22:08 1924

原创 vue中的深拷贝

function deepCopy(obj,cache = []){ // 如果为普通数据类型,则直接返回,完成拷贝 if (obj===null || typeof obj !== "object"){ return obj } // cache用来储存原始值和对应拷贝数据,在递归调用deepCopy函数时,如果本次拷贝的原始值在之前已经拷贝了,则直接返回储存中的copy值,这样的话就不用再循环复制本次原始值里面的每一项了。 ..

2022-05-24 16:09:18 2866

原创 在vue2中使用cesium

我最经的项目中要使用cesium,cesium使用起来倒是简单原生的话直接复制就可以用了,但是在vue上就有点麻烦了。<!DOCTYPE html><html lang="cn"><head> <meta charset="utf-8"> <!-- Include the CesiumJS JavaScript and CSS files --> <script src="https://cesium.com/downlo

2022-05-11 11:13:20 2541

原创 把模型转成cesium能使用的格式

1.Cesium是什么简单来说Cesium是一个跨平台、跨浏览器的展示三维地球和地图的JavaScript库,就是用来在网页上展示3d地球和模型的js库。2.为何要转换模型格式因为不同的模型处理软件导出的模型格式都不太一样,公司和用户手里的模型不一定能在Cesium上使用,所以我们需要转换格式。在Cesium能使用的模型格式是3d-tiles,而你得到的模型可能是b3dm、obj、osgb等等。在这里我推荐一个转格式的软件Cesium实验室下载地址格式转换文档这是一个桌面应用,转换的数据都是

2022-05-11 10:26:59 1034

原创 在vue中使用mqtt.js连接硬件

mqtt是物联网中常用的一种通讯协议,有的时候我们需要使用这个技术来连接硬件,获取传感器数据在网页上实时显示并变化,或者在网页上操控硬件的变化。今天讲一下在vue中使用mqtt.js的方法。首先要npm下载npm install mqtt<template> <div class="hello"> <h1>收到的消息:{{ msg }}</h1> <button @click="handleclick">发布</b

2022-05-01 10:53:27 1742

原创 el-collapse折叠面板标题加按钮,点击不让面板展开

在使用折叠面板的时候,有些需求要在标题上加交互但是如果只是简单加按钮的话就会再点击时把面板也点开要解决这个问题就要使用阻止冒泡 @click.stop.prevent。<el-collapse accordion> <template v-for="(item,index) in facilityData"> <el-collapse-item :name=index :key="item.ID">

2022-04-11 12:53:35 7809 8

原创 解决 el-dialog 里嵌入 el-tabs 卡死的问题

今天发现在element ui里面使用el-dialog里面加入el-tabs会导致页面卡死,看了网上的有些说element版本不对,有些说在el-tab外抱一个div,但是我试了一下都不行,最后发现是在el-dialog上加了:destroy-on-close="true"的问题去掉就没事了...

2022-01-06 18:25:54 2375

原创 谷歌浏览器安装报错:由于服务器端发生错误,导致安装失败。请稍后重试。

最近项目里面要用到ftp文件下载,但是我的新版浏览器都不支持ftp了主要是谷歌和edge(有需求的话可以使用老版或者360、联想、ie亲测可以),于是我去下了ChromeStandalone_55.0.2883.75_Setup,但是老是报错网上没找到这个错误,所以我觉得是没删干净导致的,我就去删注册表和chrome更新程序。全部删干净了,就能安装老版浏览器了...

2021-12-25 10:45:52 3178

原创 异步加载js

1.动态创建scriptfunction loadscript(url,callback){ let script=document.createElement('script'); if(script.readystate){ script.onreadystatechange=function(){ if(script.readystate=="loaded"||script.readystate=="complete"){

2021-05-20 18:40:20 69

原创 webpack核心原理

webpack是基于模块化的打包(构建)工具,它把一切视为模块它通过一个开发时态的入口模块为起点,分析出所有的依赖关系,然后经过一系列的过程(压缩、合并),最终生成运行时态的文件。他解决了在浏览器端,开发时态(devtime)和运行时态(runtime)的侧重点不一样的问题所以webpack主要做的就是让你开发的时候随便写,然后其他的交给webpack帮你处理好,能用在生产环境的代码。流程首先我们需要知道一些关键词:Entry: 入口,webpack构建第一步从entry开始module:

2021-04-27 19:44:59 525 1

原创 浏览器端事件循环

今天来讲一下浏览器端的事件循环,js只能在浏览器当中解析,而且js是一个单线程的语言,她的异步和多线程是通过事件循环机制来实现的首先我们要知道js如何执行的:从前到后,一行一行执行如果某一行执行报错,则停止下面代码的执行先把同步代码执行完,再执行异步然后看下图,这是一个简易的Event Loop流程这其中比较重要的部分有调用栈(call stack),异步处理模块(Web Apis),任务队列,宏任务队列,微任务队列。简易流程我先简单讲解一下顺序流程。js代码开始在全局运行,从上到下执

2021-04-18 09:05:53 142 2

原创 es3,es5,es6[对象的深浅拷贝] ②深拷贝

在上一篇文章中我们探讨了浅拷贝的知识,这一篇我们来讲一下深拷贝的原理。递归方法我们要知道深拷贝是在浅拷贝的基础之上的

2021-04-07 10:33:10 183

原创 es3,es5,es6[对象的深浅拷贝] ①浅拷贝

123

2021-03-30 20:15:27 251

原创 http和https差别的SSL加密详解

如果是有一定年龄的网民应该都知道在以前的网页的地址一般都是http开头的,而到了现在都是https开头的,这里多的s就是SSL加密协议。加密的需求众所周知网络的传输是需要http协议的;但是http是一个明文协议,它是没有什么安全性可言的,即使是所谓的安全性高一点的post请求也只不过是不像get请求一样把密码放在网页地址栏里;也是可以在网页的f12看到。同时在网络传输中间还有黑客能够拦截你的信息,所以我们需要一种加密的方式。加密的原理我们在日常生活中比方说,现在两个人聊天...

2021-03-29 17:26:00 306

原创 nodejs的事件循环

132

2021-03-21 22:50:36 337

原创 关于nodejs面试题详解

nodejs的一个经典面试题this.d = 4;exports.c = 3;module.exports = { a: 1, b: 2 }//module.exports.a = 1//module.exports.b = 2const a = require('./a.js')console.log(a);这里执行的结果是:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。this.d = 4;exports.c = 3;//m

2021-03-21 10:37:49 1870

原创 迭代器接口与for...of

首先在ES6中有三大最重要的部分:class(类相关),promise,module(模块化)。我主要说promise,这里有一个知识顺序就是promise是什么,解决了什么问题,然后promise的最终解决方案是async await,同时async await的由来是生成器,生成器生成的是迭代器,这样就连接起来了。为了引出迭代器我先写了一些东西:var arr = [1, 2, 3, 4] var str = 'abc' var obj = { a: 1, b: 2

2021-03-14 16:47:25 126

原创 es6 变量的解构赋值

ES6允许按照一定模式,将数值和变量一 一对应,比如: let [a, b] = [1, 2] // a=1 b=2 let [a, b, c] = [1, [2, 3], 4] //a=1 b=[2,3] c=4 let [ , ,c]=[1,2,3] //c=3 let [a,b,c]=[1] //a=3 let { foo, bar } = { foo: 'aaa', bar: 'bbb' }//foo "aaa" bar "b

2021-03-11 19:46:33 73

原创 let和var的区别

let是es6时新增的

2021-03-02 19:49:25 155

原创 jQuery的全选反选

基于jq的表格全选反选页面样式:<!DOCTYPE html><html lang="cn"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> //注意引用jquery <s

2021-01-20 11:27:39 101

原创 前端常见的坑

1.解决placeholder在ios上的小坑在苹果高版本iPhone6、7 上发现了一个问题,当设置placeholder显示的字体大小的时候,会被遮挡掉一部分解决方法:先设置input 里面的字体大小需要大于placeholder的字体大小就像这样:巨恶心;但我们只要这样:input的字体大小大于placeholder的字体大小就可以解决问题:...

2021-01-19 16:42:05 314

原创 js数组与伪数组分辨

常见的伪数组是由元素获取的到的如:document.getElementsByTagName(‘li’)数组于伪数组的差别有不具有数组所具有的方法和伪数组的length属性是静态的不可变分辨1.console.log打印出来可以打印出来分辨:真数组:伪数组:或者__proto__是object;总之不是Array2.Array.isArray()这个方法可以判断该对象是不是数组。是数组就返回true,不是数组就返回falseArray.isArray(arr)3.Object.p

2021-01-10 10:26:51 796

原创 js简易数组去重方法

1.利用splicevar arr = [1, 2, 123, 124, 12, 1, 3, 2, 4] function QC(arr) { for (var i = 0; i < arr.length; i++) { for (var j = i + 1; j < arr.length; j++) { if (arr[i] === arr[j]) {

2021-01-06 20:01:11 67

原创 前端经典面试题:h5,c3新特性

H5:1、语义化标签:header、footer、nav、section、article、aside2、表单输入类型:email、tel、url、number3、表单属性:  autocomplete、placeholder、form4、视频音频:audio、video5、拖拽属性:draggable6、类名操作:classlist7、web储存:cookie的大小不超过4kb,且每次请求都会发送回服务器,在设置的过期时间前有效,即使关闭浏览器h5提供:localStorage:数据始终

2021-01-05 18:44:22 1454

原创 案例:js二级联动

这是js常用功能,比如省份和城市的联动这是页面标签 <form action=""> 省份:<select id="pre"></select> 城市:<select id="cy"></select> </form>这是数据 var provinces = ["请选择省份", "北京市", "天津市", "上海市", "重庆市", "江苏省", "浙江省", "江西省", "海南省

2020-12-29 20:49:45 172

原创 动态创建表格

在很多时候我们的网页内容并不是写死的,而是由后台发送的资料来组成的;也就是动态生成页面数据:var head_data = [{ name: '商品' }, { price: '价格' }]var Commodity_data = { "author": "韩帅", "telNum": "5201314", "shop_data": [{ "addresser": "淘宝网", "com

2020-12-29 14:43:48 98

原创 DOM类名操作classList 属性

classList 属性返回元素的类名,作为 DOMTokenList 对象。该属性用于在元素中添加,移除及切换 CSS 类。classList 属性是只读的,但你可以使用 add() 和 remove() 方法修改它。常用方法add(class1, class2, …):在元素中添加一个或多个类名。document.getElementById("myDIV").classList.add("a");remove(class1, class2, …):移除元素中一个或多个类名。docume

2020-12-27 20:42:26 482

原创 案例:电商放大镜写法

今天来写常见的放大镜功能,这是各个电商网站经常使用的东西样式 <style> * { margin: 0; padding: 0; } .box { width: 350px; height: 350px; margin: 100px; border: 1px solid #ccc;

2020-12-22 07:59:20 147

原创 js正则表达式

正则表达式是一个有规则的表达式,在很多语言中都有正则表达式,主要是用做表单验证的,简单的说就是一个用于查找的通配符正则表达式创建构造函数var regex = new RegExp( 正则表达式字符串[, 匹配模式] );2) 字面量 var regex = /正则表达式/;...

2020-12-20 17:50:45 255 2

原创 js获取元素

文档:一个页面就是一个文档,DOM中使用document表示元素∶页面中的所有标签都是先素,DOM中使用element表示节点∶网页中的所有内容都是节点(标签、属性、文本、注释等),DOM中使用node表示根据ID获取使用getElementByld()方法可以获取带有ID的元素对象。<body> <input type="text" id="inp"> <script> var inp=document.getElementBy.

2020-12-11 17:12:25 180

原创 字符串对象

字符串的不可变指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。var str = 'abc ' ;str = "hello";//当重新给str赋值的时候,常量·abc'不会被修改,依然在内存中//重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变/由于字符串的不可变,在大量拼接字符串的时候会有效率问题var str = '";for (var i = o; i < 100000; i++) {str t= i;conso

2020-12-06 22:41:59 171

原创 常用数组API以及会不会改变原数组

数组的API是常用的知识点,同时有些面试题也会考比如这个api会不会改变原数组;当然了,我们说这些东西都是js自带的,并不一定适合你的项目,你完全可以自己写一个api覆盖掉它;改变原数组的:shift:将第一个元素删除并且返回删除元素,空即为undefinedunshift:向数组开头添加元素,并返回新的长度pop:删除最后一个并返回删除的元素push:向数组末尾添加元素,并返回新的长度push:向数组末尾添加元素,并返回新的长度...

2020-12-05 14:54:48 410

原创 数组与基本使用

数组用于存放多个数据(不限任何类型)创建数组的方法1、var arr=[ ];2、new Array(长度)长度, 数组里面的数据总数,长度一定是一个非负整数属性length属性:数组的长度,会自动变化,值位最大下标 + 1数字字符串属性: 叫做下标,也叫做索引,相当于数组中每个数据的编号,下标从0开始排列连续下标的取值范围: 0 ~ .length - 1。如: var arr=[1,2,3] // 0 1 2对数组的操作增加1、arr[arr.length] =

2020-11-30 18:34:27 110

原创 自增自减运算符

自增自减运算符是很多高级语言中经常使用的:自增运算符 ++ 会把操作数加 1,自减运算符 – 会把操作数减 1。因此:x = x+1;//等同于x++;或x = x-1;等同于x--;无论是自增运算符还是自减运算符,都可以放在操作数的前面或后面。例如:++x; // 前缀形式x++; // 后缀形式前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。同时只能作用于变量,不能作用于字面量,而且

2020-11-29 22:41:35 1940

原创 定位导读

为什么要用定位1.当我们需要让一个盒子压住另一个盒子时,如:2.当我们需要一个盒子固定在屏幕的一个地方,如:定位组成定位:定位︰将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。定位=定位模式+边偏移。定位模式:用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。定位模位1、静态定位static静态定位是元素的默认定位方式,无定位的意思。语法:选择器{ position : static; }静态定位按照标准流特性摆放位置,它没有边偏移静态定

2020-11-23 12:59:56 83

原创 项目开发的常见问题

我们在项目开发时经常遇到的一些问题统计一下,只说一些基础的静态网页的问题;1、多分析考虑。不要一拿到psd图后就直接写这是很多新手经常犯的错误,最开始的分析做的越详细之后写起来越快错误越少,如果不好好分析的话最后可能会写的越来越勉强,甚至要推倒重来。分析主要是先考虑一下这个页面要如何布局,各个模块大概要如何写。心里有个数你就写的快。2、小组内部多交流小组内部一定要多交流,不懂的一定要问不要藏着掖着,直到最后全部爆出来。还有就是一旦开发计划有任何修改一定要在例会中提出来并确保所有人知道。不要出现预定开

2020-11-22 22:53:57 1167

原创 css实现元素不可见的方法

在页面布局时我们经常要使用元素不可见的知识点比如:二级菜单、网页标题logo等等。今天我就总结一下常用的元素隐藏方法 <div class="w"> 12345789 </div>.w{ width: 100px; height: 100px; background-color: pink; line-height: 100px; text-align: center;}透明度op

2020-11-16 11:47:43 372

原创 伪元素选择器和伪类选择器

相信大家在学习css选择器的时候经常会遇到一个问题就是伪类和伪元素傻傻分不清楚其实最简单的分辨方式就是看有几个冒号伪类是一个冒号,而伪元素则用两个冒号来表示。常见的伪类

2020-11-15 22:50:44 185

空空如也

空空如也

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

TA关注的人

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