html5注册阿里巴巴作业,面试分享:2018阿里巴巴前端面试总结(题目+答案)

2023-10-29

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

使用js实现一个持续的动画效果

最开始的思路是用定时器实现,最后没有想的太完整,面试官给出的答案是用 requestAnimationFrame。

var e = document.getElementById('e')

var flag = true;

var left = 0;

setInterval(() => {

left == 0 ? flag = true : left == 100 ? flag = false : ''

flag ? e.style.left = ` ${left++}px` : e.style.left = ` ${left--}px`

}, 1000 / 60)

requestAnimationFrame

由于之前没有用过这个 API 所以是现学的。

//兼容性处理

window.requestAnimFrame = (function(){

return window.requestAnimationFrame ||

window.webkitRequestAnimationFrame ||

window.mozRequestAnimationFrame ||

function(callback){

window.setTimeout(callback, 1000 / 60);

};

})();

var e = document.getElementById("e");

var flag = true;

var left = 0;

function render() {

left == 0 ? flag = true : left == 100 ? flag = false : '';

flag ? e.style.left = ` ${left++}px` :

e.style.left = ` ${left--}px`;

}

(function animloop() {

render();

requestAnimFrame(animloop);

})();

不足之处请指正(毕竟是现学的)顺便查了一下优势:

浏览器可以优化并行的动画动作,更合理的重新排列动作序列,并把能够合并的动作放在一个渲染周期内完成,从而呈现出更流畅的动画效果

解决毫秒的不精确性

避免过度渲染(渲染频率太高、 tab 不可见暂停等等) 注: requestAnimFrame 和 定时器一样也头一个类似的清除方法cancelAnimationFrame。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

html5注册阿里巴巴作业,面试分享:2018阿里巴巴前端面试总结(题目+答案) 的相关文章

  • JavaEE学习记录day08集合02 Set

    JavaEE学习记录day08集合02 Set 1 Set集合 1 1Set集合概述和特点 应用 不可以存储重复元素 没有索引 不能使用普通for循环遍历 1 2Set集合的使用 应用 存储字符串并遍历 public class MySet
  • U盘重装系统Win10详细步骤和方法

    当前超多的用户都在使用Win10系统 有些用户想使用U盘来重装一下Win10系统 但不知道具体怎么操作 其实操作起来难度不会很大 可以按照以下小编给大家分享的U盘重装系统Win10详细步骤和方法 就能轻松顺利完成U盘重装系统Win10的操作
  • git 提交代码到github上

    1 通过git clone xxx git 将代码down到本地 2 当你修改或者添加文件的时候 3 首先使用git status 查看文件状态 4 然后使用git add 将文件add到本地缓冲区 5 再提交到本地仓库 git commi
  • el-input验证规则

    rules people 在未输入任何内容情况下触发 required true message 请输入你的内容 trigger blur 在输入非数字或不是1 100之间的整数时触发 pattern 0 1 9 0 9 100 0 9 0
  • 剑指 Offer 56 - I. 数组中数字出现的次数(java+python)

    一个整型数组 nums 里除两个数字之外 其他数字都出现了两次 请写程序找出这两个只出现一次的数字 要求时间复杂度是O n 空间复杂度是O 1 示例 1 输入 nums 4 1 4 6 输出 1 6 或 6 1 示例 2 输入 nums 1
  • java中代码块的执行顺序

    执行顺序 父类静态代码块 gt 子类静态代码块 gt 父类构造块 gt 父类构造方法 gt 子类构造块 gt 子类构造方法 注意 静态代码块只执行一次 并且是在main之前执行 构造块就是非静态代码块 执行顺序 父类静态代码块 只执行一次
  • scrapy爬虫框架简绍与安装使用

    Scrapy Scrapy是一个为了爬取网站数据 提取结构性数据而编写的应用框架 其可以应用在数据挖掘 信息处理或存储历史数据等一系列的程序中 其最初是为了页面抓取 更确切来说 网络抓取 所设计的 也可以应用在获取API所返回的数据 例如
  • 简单说一说手机中常用的芯片-OVP芯片

    什么是OVP OVP Over Voltage Protection 即过压保护 电压值超过一定值后 对后级电路起到了保护作用 避免因输入电压过大 导致后级电路损坏 过压保护的方式有很多种 然而运用在手机端的 往往是采用OVP芯片 价格实惠
  • mysql 索引 长文本 失败_MySQL: 长文本字段上建索引的有关问题与解决方案_mysql

    mysql 长文本字段上建索引的问题与解决方案 文本字段越长 在这个字段上建索引的代价就越高 为了解决这个问题 可以为这个字段配一个hash字段 然后在这个hash字段上建索引 如 select from log where url has
  • 微信小程序开发【前端+后端(java)】

    前言 现在微信小程序越来越火了 相信不少人都通过各种途径学习过微信小程序或者尝试开发 作者就是曾经由于兴趣了解开发过微信小程序 最终自己的毕业设计也是开发一个微信小程序 所以现在用这篇博客记录我之前开发的一些经验和一些心得吧 主要内容 sp
  • unity网络实战开发(丛林战争)-正式开发阶段(015-游戏场景及开始界面UI搭建)

    使用工具 VS2017 unity3d 使用语言 c 作者 Gemini xujian 参考 siki老师 丛林战争 视频教程 上一篇文章中 我已经完成了游戏客户端与服务器端的初步连接 接下来将开始进行游戏场景与开始界面UI的搭建 01 控
  • 我的YAF论坛(Yet Another Forum)的部署方法

    网上已经有一些关于YAF论坛 Yet Another Forum 的部署方法 在这里我也写一下自己的部署方法 希望能对大家有帮助 我部署的YAF的版本是v1 9 1 6 写这文章的时候 v1 9 1 8刚出几天呢 基于学习目的我是直接使用源
  • 使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件

    写在前面的两点说明 1 我的操作系统版本为Win7 AutoHotKey版本为1 1 23 05 2 因AutoHotKey单词太长 所以在下文中统一用缩写AHK代替 方法一 通过Windows上下文菜单快速创建EXE文件 用鼠标右键单击a
  • 怎样在python 上输入文字_python如何实现手动输入文字

    Python中可以使用input 函数接收用户输入的文字 函数语法 input prompt 参数说明 prompt 提示信息 示例 gt gt gt a input input input 123 输入整数 gt gt gt type a
  • C#数组 添加元素

    例1 string a new string 1 2 3 给a追加一个 4 string a new string 1 2 3 List b a ToList b Add 4 a b ToArray 例2 有两个个数组byte s1 1 2
  • 堆和栈的区别(转过无数次的文章)

    一 预备知识 程序的内存分配 一个由C C 编译的程序占用的内存分为以下几个部分 1 栈区 stack 由编译器自动分配释放 存放函数的参数值 局部变量的值等 其 操作方式类似于数据结构中的栈 2 堆区 heap 一般由程序员分配释放 若程
  • unity Texture2d Base64 相互转换

    Base64ToTexture2D public Texture2D Base64ToTexture2D string Base64STR Texture2D pic new Texture2D 190 190 TextureFormat
  • java连接数据库

    学习目标 java连接数据库 学习内容 导入Jar驱动包 1 然后右击项目文件夹 打开模块设置 2 打开后按一下方式操作 3 找到刚才粘贴的jar包选择 4 勾选应用 2 注册驱动 Class forName com mysql jdbc
  • 使用setStyleSheet来设置图形界面的外观

    关于QPushButton的问题 hover press我用setStyleSheet为一个QPushButton贴了一个背景图片 但是 当点了按钮之后 会出现虚线框 这样看起来就很丑 不逼真了 我不希望这个虚线框出现 有什么好的解决方法吗

随机推荐

  • Python利用POP3/SMTP服务自动发送qq邮件

    自动发送qq邮件的两种方法 第一种 POP3 SMTP服务发送qq邮件 废话不多说 直接上代码 coding utf 8 import smtplib from email mime text import MIMEText from em
  • HTML页面

    HTML 1 资源分类 1 1 静态资源 使用静态网页开发技术发布的资源 特点 所有用户访问 得到的结果是一样的 如 文本 图片 音频 视频 HTML CSS JavaScript 如果用户请求的是静态资源 那么服务器会直接将静态资源发送给
  • [每日两题系列]刷算法题咯~~

    今日题目 判定是否互为字符重排 最后一块石头的重量 本系列所选题目均来自力扣或者牛客网站 所选题目主要是以其中的简单题为主 中等题为辅 包含少数困难题 原因是 本人目前能力还不够 开展这个系列的目的是督促自己 在暑假的时间里也要保持有一定的
  • #define用法总结

    刚开始接触VC 的同学们 估计对这个东西有这莫大的恐惧 这个经常写在添加头文件的地方的奇怪语句 如果看过mfc那么 那么拿出一些application framework里面的宏 估计会吓死一片 说了这么多只是想说 不明白其用法的人很害怕
  • 经典法谱估计(1)周期图法MATLAB及Python实现

    原理 对于一个无限长序列x n 其傅里叶变换DTFT 也可称作离散时间傅里叶变换 及其反变换的定义式为 但是在我们的分析处理过程中 只能分析处理离散化的信号 也即N点取样 对于一个长度为N的有限长序列x n 其离散傅里叶变换及其反变换的定义
  • osgEarth的Rex引擎原理分析(一二一)osgEarth::TileRasterizer功能详解

    目标 五十二 中的问题123 本质是一个相机 用于将下面的节点渲染到纹理中 src osgEarth TileRasterizer class OSGEARTH EXPORT TileRasterizer public osg Camera
  • 神经网络面试题-1

    文章目录 1 批规范化 Batch Normalization 的好处都有啥 2 如果我们用了一个过大的学习速率会发生什么 3 下图所示的网络用于训练识别字符H和T 如下所示 4 增加卷积核的大小对于改进卷积神经网络的效果是必要的吗 5 假
  • maven跳过单元测试-maven.test.skip和skipTests的区别

    原文链接 http blog csdn net arkblue article details 50974957 DskipTests 不执行测试用例 但编译测试用例类生成相应的class文件至target test classes下 Dm
  • 【Linux C小技巧】零长度数组的使用

    本期主题 讲清Linux C的零长度数组使用 内容包括 零长度数组是什么原理 为什么要使用零长度数组 与指针的差异 往期链接 数据结构系列 先进先出队列queue 数据结构系列 栈 stack Linux内核链表 目录 0 前言 1 零长度
  • git上传代码到github

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1219 一 首先在windows上安装msysgit 1 msysgit下载地址如下 链接 https pan baidu com s 1T
  • 小米红米手机刷入Recovery手机教程-TWRP下载-获取root权限-新增小米12/13Pro适配

    刷机注意 本教程为小米全机型 目前已整理机型都可以使用 请确保你的电脑能正确连接你的手机 部分手机需要解锁BL 小米解锁BL教程 http www romleyuan com lec read id 83 更新日志 20230221更新日志
  • 【atoi函数的介绍以及模拟实现】

    目录 前言 一 atoi函数测试 1 要求 2 测试 二 atoi函数模拟实现 三 补充 前言 位置 atoi函数包含在
  • 天地图服务与开发

    天地图服务与开发 天地图在线地图网址 2021年7月2日 国家地理信息公共服务平台天地图2021版正式启用 传统版地址 https map tianditu gov cn 2020 新版地址 https map tianditu gov c
  • ssh telnet linux中显示中文

    vi etc sysconfig i18n 将内容改为 LANG zh CN GB18030 LANGUAGE zh CN GB18030 zh CN GB2312 zh CN SUPPORTED zh CN GB18030 zh CN z
  • office中excel设置下拉框多选

    我参照了这篇文章 https www php cn topic excel 444717 html 这篇文章整体写得不错 但是有些小瑕疵 问题1 在模块1中保存 这里并没有说清楚 具体是 VBA编辑器中 插入 模块 然后复制以下代码 Pub
  • js if else return不管用_前端知识013 学会异步,JS不再烧脑

    01 同步和异步 0101 认识同步异步 0102 前端经常遇到的异步操作 三个经典例子 0103 拿到异步的结果 轮询和回调 0104 回调的几种方式 02 Promise 0201 Promise基本用法 0202 Promise 基本
  • 【打卡-蓝桥杯】Day 7

    题目1 基础练习 芯片测试 解题思路 因为好的芯片多于坏的 所以如果是好芯片 那个被测试为 1 的 总数 gt n 2 代码 n int input arr list map int input split for in range n f
  • python自动化控制设备有限公司_华为 Python网络自动化

    哈喽 大家好 我是艺博东 是一个思科出身 专注于华为的网工 好了 话不多说 我们直接进入正题 光棍二十年 不知道情人节是什么鬼东西 还是好好学技术吧 努力 奋斗吧 为了早日走向人生巅峰 迎娶白富美 拼了 1 安装环境并导入相关模块 首先是安
  • 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。

    原来是一个varchar字段出出现了 和 等特殊字符 这个在insert语句中没有问题 但是使用导入导出会报错 最后要注意的是 导入导出使用的是BulkInsert 方式 每次可能读取一大段 多行记录一起处理 如果这批数据中有错 那么 程序
  • html5注册阿里巴巴作业,面试分享:2018阿里巴巴前端面试总结(题目+答案)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 使用js实现一个持续的动画效果 最开始的思路是用定时器实现 最后没有想的太完整 面试官给出的答案是用 requestAnimationFrame var e document getElemen