- 判定宽度是否超出可视区域
/** * 获取文档显示高度与缩放比例. * @param documents * @param origin */protected getHeightAndScale( documents?: HTMLDivElement, origin?: any): { height: number; scale: number;} { documents = documents ?? this.getContainer() as HTMLDivElement; let wrapperHeight = 0, lastScale = 0; if (documents) {const size = this.files.speaker,// 所记录的主讲人的屏幕尺寸width = documents.offsetWidth,// 当前用户显示容器的可视宽度height = documents.offsetHeight; // 当前用户显示容器的可视高度let originWidth;/** 获取原始文档宽度 */if (!origin) {const pagination = this.getActivePagination();originWidth = pagination.originWidth;} else {originWidth = origin[2];}/*** 计算主讲人的缩放比.* 往下出现的 200 / 150 之类的常数, 为设定好的显示偏移量.*/const speakerRatio = Math.round((size.width - 200) / originWidth * 100) / 100;/** 非主讲人默认以高度为基准来计算文档显示的缩放比例 */lastScale = Math.round(speakerRatio / (size.height - 150) * (height - 100) * 100) / 100;/** 如果以高度为基准的情况下, 判定宽度是否超出可视区域 */const destWidth = Math.round(originWidth * lastScale * 100) / 100,offsetWidth = width - (this.isSpeaker() ? 200 : 120),diffWidth = destWidth - offsetWidth;if (diffWidth > 0) {/*** 如果超出可视区域, 重新设定缩放比,* 文档内容显示所在的DIV容器, 将进一步缩小,* 以保证宽度在正常的可视区域内*/wrapperHeight = (Math.round((offsetWidth * (size.height - 150)) / (size.width - 200) * 100) / 100);lastScale = Math.round(offsetWidth / originWidth * 100) / 100;} } return {height: wrapperHeight,scale: lastScale };}
总结翻页控制的代码我就不贴出来了 , 与请求分片中的判定类似 。 总的实现 , 没有太大的难点 , 理清思路之后就很好实现了 , 上传速度快慢先不说 , 秒传校验通过的情况下 , 基本在 16ms 内完成 Content Download , 直至页面渲染出来 , 整个过程大概 1s 左右 , 有个前提是我的实现是等 5 个分页都渲染完成后又进行了一系列的涂鸦初始化操作后的时间 , 不做其它处理 , 只做展示 , 速度将会更快 。
推荐阅读
-
-
枪声再响!美国密苏里州一校园附近发生枪击案 1死3伤
-
火星|火星上发现巨大湖泊,水量比渤海还多,意大利科学家称里面有生命
-
酷玩儿|西门子合资企业有望在澳大利亚电网中领先特斯拉电池
-
『评测狂想曲』这是什么黑科技?,适合游戏的真无线耳机清单:最低延时只有94ms
-
-
补肾|肾虚“别忙补”,老中医:“3招”补肾气,简单易学!
-
寒风|透析冬季筏竿钓鲫,直击作钓误区,给寒风中的自己增加点鱼获
-
-
经济|港股风云 | 恒指一周仅上涨1.73% 机构:杀估值是目前市场的主旋律
-
战魂铭人银藏玩法心得分享 银藏怎么玩|战魂铭人银藏玩法心得分享 银藏怎么玩
-
东邪体坛泰山|山东女排崛起是中国女排新的希望!,新赛季
-
女朋友开始一直很爱我,但是因为我很自我对她不关心,最近提出很累要分手,说以后要远远的看着我作朋友,关注我,永远的支持我,累的时候可以找她,她会一直坚定不移的看着我,直到我成
-
「烽火戏猪狗」詹姆斯是否能创建新的王朝球队?,假若杜兰特没有加盟73胜勇士
-
-
虎扑足球|你在最需要你的时候留下,赖特连线奥巴梅扬:其他人离开了
-
-
-
越南|转身“求助”中国伸援手,越南制造业问题“暴露”?束手无策后
-