
前端
今天超市大减价
要敢于从0开始,且不止步于1。
展开
-
vue项目中html文本安全性过滤
vue项目中可能会使用到。记录于2024-08-17。原创 2024-08-17 18:07:05 · 527 阅读 · 0 评论 -
用js操作dom节点的一些方法
在已有的子节点前插入一个新的子节点,也可以利用已知的子节点获取其父节点:existNode.parentNode.insertBefore(newNode,existNode);复制节点domNode。neborNode.previousElementSibling :返回某个节点的上一个兄弟元素节点(不包括文本节点、注释节点)neborNode.previousSibling:返回某个节点的上一个兄弟节点(包括文本节点、注释节点)将某个子节点替换为另一个新节点,新节点可以是已存在的,也可以是新创建的。原创 2024-05-11 00:24:25 · 734 阅读 · 0 评论 -
Vue项目自动注入less、sass、scss、stylus全局变量
【代码】自动注入less(sass、scss、stylus)全局变量。原创 2024-04-09 18:19:38 · 758 阅读 · 0 评论 -
Vue项目打包配置生产环境去掉console.log语句的方法
使用webpack内置的 terser 工具,在vue.config.js文件加上相应的配置即可。同样是使用 terser 工具,不过vite没有内置terser,需要手动安装依赖。安装完后在vite.config.js文件加上相应的配置即可。原创 2024-04-09 17:05:55 · 1774 阅读 · 0 评论 -
vue3项目中导入Excel表格数据
vue3项目中实现导入Excel表格数据原创 2023-08-28 17:22:45 · 875 阅读 · 0 评论 -
CSS媒体查询的用法
媒体查询:根据设备显示器的特性(如视窗宽度、屏幕宽度、设备方向等)来设定不同的CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。原创 2023-08-23 17:31:05 · 2905 阅读 · 0 评论 -
Echarts折线图设置legend图例文本的颜色与对应折线一致
实现:在legend图例文本样式配置中给color设置一个空数组即可。需求:设置legend图例文本的颜色与对应折线一致。记录于2023-7-21。原创 2023-07-21 16:20:46 · 2777 阅读 · 0 评论 -
二维数组/多维数组转一维数组
记录于2023-7-21。1、二维数组转一位数组。2、多维数组转一维数组。原创 2023-07-21 10:26:17 · 1326 阅读 · 0 评论 -
用CSS画三角形
虽然另外三个border不显示,但还是占位的,像上面示例的向下三角形,我们可以把border-bottom的设置去掉,这样border-bottom就不占位了。其他方向的三角形以此类推。3、保留一个三角形,将不需要的border设置成透明的,想要哪个方向的就保留哪个的。4、各个border设置不同的宽度,可以得到不同形状的三角形。实现方法:利用元素的border画出三角形。记录于2023-7-12.原创 2023-07-12 14:46:10 · 128 阅读 · 0 评论 -
qs.stringify使用skipNulls选项忽略解析null值
qs.stringify使用skipNulls选项忽略解析null值原创 2023-06-29 17:04:17 · 626 阅读 · 0 评论 -
CSS设置多行文本溢出显示省略号
记录于2023-3-20。原创 2023-03-20 10:10:19 · 292 阅读 · 1 评论 -
Cookie的使用(基于js-cookie插件)
Cookie的使用(基于js-cookie插件)。原创 2022-11-04 17:17:26 · 5420 阅读 · 1 评论 -
解决HTML代码中的文本换行导致出现字间距空格的问题
解决HTML代码中的文本换行导致出现字间距空格的问题原创 2022-10-20 16:09:31 · 3557 阅读 · 0 评论 -
ElementUI 日期范围选择器设置选择跨度一年、30天、7天
ElementUI 日期范围选择器设置选择跨度一年、30天、7天原创 2022-10-19 09:45:14 · 5193 阅读 · 4 评论 -
Vue项目中Echarts图表的引入、使用,以及封装成Echarts组件使用
Vue项目中Echarts图表的引入、使用,以及封装成Echarts组件使用原创 2022-10-18 14:53:38 · 1764 阅读 · 1 评论 -
将富文本转换为普通文本
将富文本转换为普通文本。原创 2022-09-21 11:39:46 · 1537 阅读 · 0 评论 -
echarts.graphic.LinearGradient 渐变色⽣成器;设置渐变色仪表盘
使用echarts.graphic.LinearGradient 渐变⽣成器设置仪表盘轴线颜色渐变效果: 效果: 完。记录于2022-6-16.原创 2022-06-16 10:59:46 · 9987 阅读 · 3 评论 -
uniapp App端 实现pdf文件预览
一、下载pdf预览需要用到的相关文件(即hybrid文件夹)二、将步骤一下载解压得到的hybrid文件夹放在/src目录下,即 /src/hybrid三、预览pdf1、预览pdf需要用到uniapp的webview组件,所以注册并创建一个专门用于预览pdf的页面,页面使用webview组件。/pages/webview/index.vue:<template> <view style="width: 100%;"> ..原创 2022-05-27 15:11:26 · 24083 阅读 · 35 评论 -
uniapp 添加scss全局变量、scss公共类
一、创建scss变量文件variable.scss和公共类文件common.scss,放在目录/src/static/css/下variable.scss// 主题色$primary-color: #0099FF;// 其他变量......若要添加其他变量直接在文件里加即可。common.scss@import './variable.scss';// 公共类.color-primary { color: $primary-color;}.bg-primary原创 2022-05-18 09:24:34 · 24130 阅读 · 0 评论 -
uniapp 获取屏幕高度
onLoad () { uni.getSystemInfo({ success: (res) => { // 注意这里获得的高度宽度都是px,需要转换rpx console.log(res.screenHeight); // 屏幕高度,包含导航栏 console.log(res.screenWidth); // 屏幕宽度 console.log(res.windowHeight); // 可使用窗口高度,不包...原创 2022-04-25 10:17:52 · 4111 阅读 · 0 评论 -
uniapp App端页面设置背景色无效的问题及解决办法
解决办法一:style去掉scoped// 修改前<style lang="scss" scoped>page { background-color: #f5f5f5;}</style>// 修改后<style lang="scss">page { background-color: #f5f5f5;}</style>解决办法二:为了避免页面的样式影响到其他页面,需要保留scoped。这时可以在另外一个没有scop原创 2022-04-20 17:36:51 · 6881 阅读 · 3 评论 -
echarts设置折线图的symbol标记的颜色
一、在series的itemStyle里配置:series: [ { name: '电流B', data: [15, 8, 23, 17, 18, 20, 22, 16, 18, 12, 24, 20], type: 'line', // 区域面积样式 areaStyle: { color: '#BACDEC' }, // 折线样式 lineStyle: { color: '#C24141' },原创 2022-04-20 14:13:03 · 11115 阅读 · 0 评论 -
解决uniapp App端iconfont图标显示异常问题
原来的iconfont.css:@font-face { font-family: "iconfont"; /* Project id 2762712 */ src: url('iconfont.woff2?t=1631523743638') format('woff2'), url('iconfont.woff?t=1631523743638') format('woff'), url('iconfont.ttf?t=1631523743638') format(原创 2022-04-14 09:14:37 · 2424 阅读 · 2 评论 -
js的 空值合并运算符(? ?)、空值赋值运算符(? ? =)、可选链(?.)
一、空值合并运算符(??)let alet blet c = 0let d = 'hello'a = b ?? dconsole.log(a) // a='hello'a = c ?? dconsole.log(a) // a=0当 ?? 的左侧变量是undefined、null之外的任何值,a都会等于左侧变量的值,否则a等于右侧变量的值。二、空值赋值运算符(??=)let alet blet c = 0let d = 'hello'a ??= dcon原创 2022-04-12 15:44:30 · 1403 阅读 · 0 评论 -
获取上个月,支持跨年
获取上个月,支持跨年// 获取上个月import { moment } from '@/filters/moment'const now = new Date()const prevMonth = moment(now.setMonth(now.getMonth() - 1), 'YYYY-MM')console.log(prevMonth)如果当月是2022-04,则prevMonth为2022-03;如果当月是2022-01,则prevMonth为2021-12。以此类原创 2022-04-06 11:35:41 · 966 阅读 · 0 评论 -
英文网址在div容器不换行,溢出的问题
解决方法:给div设置css属性:word-break: break-all; 如下:<div> <div class="website" style="width:300px;"> https://https://mp.youkuaiyun.com/mp_blog/creation/editor?spm=1001.2014.3001.5352 </div></div><style>.website { word-br原创 2022-03-31 09:57:31 · 252 阅读 · 0 评论 -
js实现web端监听页面滚动切换当前tab
开发背景:Vue项目实现代码: mounted () { window.addEventListener('scroll', (event) => { // console.log(216, event.target.documentElement.scrollTop) const headerHeight = document.querySelector('.page-header').clientHeight const a = docu原创 2022-03-02 10:44:20 · 834 阅读 · 0 评论 -
js实现web端锚点定位
一、代码实现 // domId为需要定位的元素id changeTab (domId) { // const id = decodeURIComponent(`#${domId}`) // const el = document.querySelector(id) const el = document.getElementById(domId) // 上面这种方法获取el也可以 const rect = el.getBoundingCl原创 2022-03-02 10:38:24 · 472 阅读 · 0 评论 -
用flex布局左右布局时,左边菜单栏position: sticky不生效
解决办法:加上 align-self: flex-start原因:由于是flex布局,左边菜单栏的高度变得和右边的一样,且高于屏幕高度。.nav-menu { align-self: flex-start; position: sticky; top: 64px; display: flex; flex-direction: column;}记录于2022-3-2...原创 2022-03-02 10:02:59 · 2086 阅读 · 3 评论 -
js实现搜索关键字高亮
开发背景:vue项目实现代码:// 关键字变红function keywordRed (keyword) { if (keyword && keyword !== '') { const nodesObj = document.getElementsByClassName('item-title') const nodes = Object.values(nodesObj) nodes.forEach(item => { cons原创 2022-03-01 19:28:42 · 6314 阅读 · 3 评论 -
Vue项目实现web端第三方分享(qq、qq空间、微博、微信)
开发背景:文章详情页面需要分享到第三方,包括qq、qq空间、微博、微信。一、封装一个share.js文件,放在目录/utils下// share.js// url - 需要分享的页面地址(当前页面地址)// title - 分享的标题(文章标题)export function toQQzone (url, title) { url = encodeURIComponent(url) title = encodeURIComponent(title) window.open(`原创 2022-02-25 17:12:13 · 3324 阅读 · 6 评论 -
js实现字体大小设置
1、实现代码:// el - 要设置字体的最外层元素,size - 字体大小,单位pxfunction setFontSize (el, size) { // 获取元素el下的所有元素nodes const nodesObj = el.getElementsByTagName("*") const nodes = Object.values(nodesObj) nodes.forEach(node => { node.style.fontSize = size + "p原创 2022-02-25 16:51:30 · 5585 阅读 · 0 评论 -
Vue项目实现web端打印页面
一、封装一个print.js文件,放在目录/utils下// print.jsexport function clear () { const iframes = document.body.querySelectorAll('iframe.print-iframe') iframes.forEach(iframe => { document.body.removeChild(iframe) })}export function print (el) { //原创 2022-02-25 16:41:31 · 525 阅读 · 0 评论 -
原生js给DOM元素添加、删除类名
方法一:DOM.className = '类名';说明:一次只能设置一个类值,如果当前属性本身存在类值,会被替换。方法二:DOM.setAttribute("class", "类名")DOM.removeAttribute("class", "类名")说明:setAttribute用于创建或改变某个新属性,如果指定属性已经存在,则只设置该值并且会替换原来的值。方法二:DOM.classList.add('类名一', '类名二', '类名三); // 添加一个或多个类名原创 2022-02-25 16:10:52 · 13988 阅读 · 0 评论 -
Vue项目实现web端飘窗
开发背景:项目使用了Nuxt.js框架。Nuxt.js 是一个基于 Vue.js 的通用应用框架,具体查看关于 Nuxt.js - NuxtJS | Nuxt.js 中文网一、封装飘窗组件FloatWindow.vue,放在目录/components下<template> <nuxt-link v-if="visible" class="float-window" :style="{ left: `${left}px`, t原创 2022-02-25 15:43:41 · 1359 阅读 · 8 评论 -
js 大小写字母转换的两种方法
一、使用 charCodeAt() 方法和 fromCharCode() 方法let letter1 = 'A'let lower_letter = String.fromCharCode(letter1.charCodeAt(0) + 32)console.log(lower_letter) // 'a'let letter2 = 'b'let upper_letter = String.fromCharCode(letter2.charCodeAt(0) - 32)console.l原创 2022-01-18 15:30:15 · 24484 阅读 · 0 评论 -
实现canvas中的文本水平居中、垂直居中
环境:uniapp项目一、view视图<canvas style="width: 400px; height: 40px;" canvas-id="myCanvas" id="myCanvas"></canvas>二、js代码 onReady(e) { var ctx = uni.createCanvasContext('myCanvas') ctx.font="16px Arial"; ctx.textAlign = "center"原创 2022-01-10 16:19:15 · 7535 阅读 · 0 评论 -
字符串、16进制字符串、ArrayBuffer之间的一些转换
背景:有个蓝牙相关的小程序项目,需要向蓝牙设备写入数据,用到相关的知识,记录一下。一、字符串转16进制字符串 // 字符串转16进制字符串 string2Hex(str) { let val = "" for (let i = 0; i < str.length; i++) { if (val == "") val = str.charCodeAt(i).toString(16) else原创 2022-01-05 12:29:49 · 7295 阅读 · 0 评论 -
时间戳转成16进制字符串,16进制字符串转成时间戳
一、时间戳转成16进制字符串JavaScript toString() 方法:把一个 Number 对象转换为一个字符串,并返回结果。语法:NumberObject.toString(radix)radix - 表示数字的基数,是 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。返回值:数字的字符串表示。例如,当 radix 为 2 时,NumberObject 会被转换为二进制值表示的字符串。注意:当调用该方法的对象不是 Number 时抛出 TypeError 异常。原创 2021-12-30 14:31:43 · 9455 阅读 · 0 评论 -
uniapp前端生成图形验证码并校验
一、uniapp前端生成图形验证码并校验1、在src/utils目录下新建文件mcaptcha.js// mcaptcha.jsexport class Mcaptcha { constructor(options) { this.options = options; this.fontSize = options.height * 3 / 6; this.init(); this.refresh(); } init() { this.ctx原创 2021-12-20 16:12:11 · 10094 阅读 · 28 评论