JS实现瀑布流页面布局

个人对瀑布流布局理解: 每列的宽度相等而高度不等,且第二行的第一个容器需要放在第一行高度最小的容器下面,依次类推放置。 附上代码: 代码仅实现了瀑布流的布局方式和 resize 监听,如果大家有需要,可以自己拓展下:实现监听滚动事件,页面滚动加载图片的功能。 代码中写了详细注释,可以直接使用。 <! ...

js读取mjpeg视频流与物体追踪

js mjpeg buffer stream 项目要求使用http和mjpeg在页面实现实时展示视频流 基础知识 流操作:ReadableStream 流操作API中的ReadableStream接口呈现了一个可读取的二进制流操作。Fetch API 通过Response的body属性提供了一个具体 ...

js同步http请求并加缓存的实现

缓存实现 背景:有时候接口返回的数据短期内是不会改变的,可以对http接口返回的数据加缓存,即减少了后端请求,又加快了前端性能,真是一举两得! 实现原理:用js的Object对象即可实现缓存,{} 表示一个js对象,对象属性名是唯一的可以作为缓存key,属性值就是缓存value 例如: //定义缓存 ...

如何从0开发一个Vue组件库并发布到npm

1、新建文件夹在终端打开执行 npm init -y 生成package.json如下,注意如果要发布到npm,name不能有下划线,大写字母等 { "name": "vuecomponentdi", "version": "1.0.0", "description": "", "main": "i ...

Next.js 热更新 Markdown 文件变更

Next.js 提供了 Fast-Refresh 能力,它可以为您对 React 组件所做的编辑提供即时反馈。 但是,当你通过 Markdown 文件提供网站内容时,由于 Markdown 不是 React 组件,热更新将失效。 怎么做 解决该问题可从以下几方面思考: 服务器如何监控文件更新 服务器 ...

js之new的原理和源码

new的原理即作用: function Student(name,age){ this.name=name; this.age=age; } var stu=new Student("小明",18); 观察上述代码,Student是一个普通的构造函数,然后通过new对构造函数实例化得到了一个Stud ...

js快排(JavaScript快速排序算法)- 前端面试

快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2)将大于或等于分界值的数据集中到数组右边,小于分... ...

Vue+ElementUI封装简易面包屑组件

在实际项目中面包屑是非常常见的一个功能,用于切换层级选项 当然有的公司会使用TagsView导航栏,这个后续在做介绍 今天分享一个简易的面包屑组件,这边配合ui库进行封装 安装依赖,在main.js中引入 yarn add element-ui import Vue from 'vue' impor ...

flv.js的追帧、断流重连及实时更新的直播优化方案

1. 前言 最近在处理前端直播的业务,根据业务需要,使用 flv.js 的方案播放实时的flv视频流。不得不承认,flv.js 是一个伟大的库。 在使用flv.js开发的过程中,遇到了一些问题,也无外乎是视频延迟,视频卡顿等问题,经过在github issues里摸爬滚打,加上长时间的试错,将这些问 ...

jsonp解决跨域插件(js、ts)

介绍: 有时候请求某些第三方api用nginx做反向代理解决跨域不能满足需求,例如请求百度或者腾讯地图的ip定位接口,该接口会根据请求来源的ip返回该ip地址对应的位置信息,但是若是用ng做了代理或者是后端做接口转发的话实际获取到的ip位置信息是服务器的ip地址,想要直接解析客户端的ip位置信息就必 ...

基于cornerstone.js的dicom医学影像查看浏览功能

最近由于项目需求,需要医学影像.dcm文件的预览功能,功能完成后,基于原生Demo做一个开源分享。 心急的小伙伴可以先看如下基于原生js的全部代码: 一、全部代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ...