
Web前端
H5+CSS+Js
little-cyy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ant Design Charts 柱图+面积图混合
【代码】Ant Design Charts 柱图+面积图混合。原创 2025-05-08 09:28:15 · 298 阅读 · 0 评论 -
【echart饼图默认放大某一项】
【代码】【echart饼图默认放大某一项】原创 2025-04-30 18:04:22 · 237 阅读 · 0 评论 -
手写Promise实现Promise A+规范
【代码】手写Promise实现Promise A+规范。原创 2024-12-30 19:28:17 · 122 阅读 · 0 评论 -
手写代码实现虚拟滚动
实现虚拟滚动(Virtual Scrolling)是一种优化长列表显示的技术,通过只渲染当前可见的部分数据,从而显著提高性能和用户体验。下面是一个简单的 JavaScript 代码示例,展示了如何手撕实现一个基本的虚拟滚动功能。假设我们有一个包含大量数据项的数组,并且我们希望在网页上展示这些数据项,但只渲染用户当前可见的部分。原创 2024-12-11 23:02:10 · 291 阅读 · 0 评论 -
手写实现观察者模式
代码中, 实现了一个简单的观察者模式(Observer Pattern),其中包括了一个发布者(Subject)和多个观察者(Observer)。notifyObservers 方法遍历观察者列表,并调用每个观察者的 update 方法,传递通知信息。addObserver 方法用于向观察者列表中添加一个新的观察者,确保不会添加重复的观察者。包含一个 update 方法,该方法在接收到发布者的通知时被调用,并打印出接收到的信息。包含一个构造函数,用于初始化一个空的观察者列表。原创 2024-12-09 22:28:56 · 259 阅读 · 0 评论 -
vue 前端静默打印无预览打印
静默打印-electron-hiprint方案:使用electron-hiprint,二开支持style配置拉取代码,npm install,然后将\electron-hiprint\assets\print.html进行更改打包成安装包,安装前端这边使用静默打印-electron-hiprint目前有一个需求想点击打印可以直接选择打印机打印,无需先预览方案:使用electron-hiprint,二开支持style配置源码地址:https://gitee.com/CcSimple原创 2024-10-22 13:53:36 · 2232 阅读 · 0 评论 -
封装tooltips组件,实现多行文本溢出显示省略号、且文本溢出的支持hover悬浮提示
【组件开发】支持多行文本溢出显示省略号、超出的hover显示。原创 2023-07-04 17:02:01 · 528 阅读 · 1 评论 -
uniapp封装svg-icon插件
uniapp封装svgIcon组件,支持原始.svg文件按需引用原创 2022-08-14 17:53:10 · 2727 阅读 · 3 评论 -
图片上传及预览
<input type="file" name="myfile"><img src="" alt="" id="img">方式一:使用window.createObjectURLlet input =document.getElementsByName('myfile')[0]// 获取input的file对象let img=document.getElementById('img')input.addEventListener('change',()=>{原创 2022-03-12 15:09:12 · 382 阅读 · 0 评论 -
手写一个订阅发布模式
摘要:发布订阅者模式,一种对象间一对多的依赖关系,但一个对象的状态发生改变时,所依赖的它的对象都将得到状态改变的通知主要的作用1、广泛应用于异步编程中(替代了传递回调函数)2、对象之间松散耦合的编写代码缺点1、创建订阅者本身要消耗一定的时间和内存2、多个发布者和订阅者嵌套在一起是时候,程序难以跟踪维护实现的思路1、创建一个事件中心(缓存列表)2、on方法用来把回调函数fn都加到事件中心中3、emit方法取到arguments里第一个当做event,根据event值去执行对应事件中心中的函原创 2022-03-08 13:39:08 · 294 阅读 · 0 评论 -
实现继承的几种方式
1、直接继承本质:重写原型对象function Game(){ this.name='LOL'}Game.prototype.getName=function(){ return this.name}function LOL(){}LOL.prototype=new Game()LOL.prototype.constructor=LOLconst game=new LOL()game.name //'LOL'game.getName() //'LOL'1.在原型对象所原创 2022-03-07 01:23:58 · 662 阅读 · 0 评论 -
浏览器的运行和工作原理
浏览器是多线程的,js是单线程的。js在浏览器中可以是多线程的。浏览器的的三个常驻的线程JavaScript引擎线程,是基于事件驱动单线程执行的。GUI渲染线程,和JavaScript引擎是互斥的。当JS引擎执行时GUI线程会被挂起,GUI的更新也会被保存在一个队列中,等到JS引擎空闲时才有机会被执行,这就是JS阻塞页面加载。页面事件触发线程,当一个事件被触发时,该线程会把事件添加到任务队列的队尾,等待JS引擎的处理。浏览器的组成用户界面 - 包括地址栏、 前进/后退按钮、 书签菜单等原创 2022-03-06 01:34:48 · 1896 阅读 · 0 评论 -
ES6-ES11学习笔记
ES6-ES11学习笔记一、概述1 、什么是 ECMAECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。 1994 年后该组织改名为 Ecma 国际;2 、什么是 ECMAScriptECMAScript 是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言;百度百科:https://baike.baidu.com/history/ECMAScrip原创 2021-08-18 17:11:33 · 663 阅读 · 0 评论 -
echart中定义legend的宽度实现排列对齐
Echart中定义legend的宽度实现排列对齐实现方式:富文本legend: { bottom:'bottom', formatter: function (name) { return '{a|' + name + '}' }, textStyle: { // 文字块背景色,一定要加上,否则对齐不会生效 backgroundColor: "transparent",原创 2021-08-15 22:00:38 · 4116 阅读 · 2 评论