当前位置: 首页 > news >正文

做任务网站有哪些内容做网站公司宁波上市

做任务网站有哪些内容,做网站公司宁波上市,郑州专业喷绘制作公司,html酒店网站模板最近看了看人气眼的界面#xff0c;感觉到学习的地方有很多呀。这里先带大家看看人气值跳动的实现。本篇代码基于Vue2.x.x。 一、概要 首先看一下效果图#xff1a; 要想实现上面的效果#xff0c;我们分为这几个部分#xff1a; 判断元素是否在可视区域内#xff1b;函数… 最近看了看人气眼的界面感觉到学习的地方有很多呀。这里先带大家看看人气值跳动的实现。本篇代码基于Vue2.x.x。 一、概要 首先看一下效果图 要想实现上面的效果我们分为这几个部分 判断元素是否在可视区域内函数节流的使用元素高度过渡动画数字跳动动画 二、判断元素是否在可视区域之内 首先我们要先获取元素的位置信息这里我们采用getBoundingClientRect方法MDN上对于该方法的介绍。然后我们只要与可视区域做个比较就OK了。 // methodsisElementInViewport (el, offset) {const h offset || 20,box el.getBoundingClientRect(),top (box.top 0),left (box.left 0),bottom (box.bottom (window.innerHeight || document.documentElement.clientHeight) h),right (box.right (window.innerWidth || document.documentElement.clientWidth) h);return (top left bottom right);}三、函数节流的使用 接下来我们需要监听scroll事件判断元素是否出现在可视区域内。对于scroll事件的优化之一我们需要使用函数节流。你可以选择导入underscore.js的throttle函数但是这里我尝试了一下requestAnimationFrame来实现函数节流 //mounted document.addEventListener(scroll, this.onScroll , false);// methodsonScroll (e) {if (!this.LOCK) {this.LOCK true;window.requestAnimationFrame(this.scrollAction);}},scrollAction () {const flag this.isElementInViewport(this.$refs.zfbitem, 100);if (!flag) {this.LOCK false;} else {//触发元素高度过渡动画this.active true;//去除掉事件监听document.removeEventListener(scroll, this.onScroll , false);}}四、元素的高度过渡动画 在CSS当中实现一种动画效果你可以有很多种方式这里我也就不一一枚举了此例子中我采用高度过渡的方式实现效果。有人就会说通过高度过渡没有任何难度啊实际上你需要注意的点还是蛮多的 想让一个元素的高度为0并不是简单的height:0;就能做到的前提是你不能设置border、垂直方向的padding等当你的元素设置height为100px时你再设置max-height为0它一样只显示0的高度当height的值为auto时我们是无法过渡的。所以对于auto的情况我们可以采用max-height来模拟一下一般情况下效果还行。 实现的代码还是很简单的这里就不贴代码了。 五、数字跳动动画 首先我们需要在高度过渡动画完成后执行数字跳动动画这里我们需要监听transitionend事件对于这个事件需要特别注意的点 每个过渡属性完成后多会触发一次transitionendtransitionend事件支持冒泡如果子元素也有过渡效果的话一定要阻止冒泡。 // watch : active (newValue) {if (newValue) {this.$refs.zfbitem.addEventListener(transitionend, this.transitionAction, false);}}// methods:transitionAction (e) {//不再需要监听时一定要移除监听this.$refs.zfbitem.removeEventListener(transitionend, this.transitionAction, false);this.numberBounce();}对于数字跳动的动画正好利用了Vue响应式的特性偷懒了一波感觉实现的还是有些生硬我主要是从这几个方面下手的 暂且默认两位数个位和十位多需要先跳一轮0~9然后再跳向最终的数字这样避免特殊的情况个位和十位动画执行的时长是一样的通过时长和各自需要跳动的字数计算出每一帧需要的时间。 //组件需要传入的参数props: {rate: Number}//分割个位 和 十位computed: {numberArray () {return (this.rate ).split();}}numberBounce () {let arr this.numberArray,totalTime 200,a arr[1],aLen Number.parseInt(a),aTime Math.floor(totalTime / (aLen 9)),i 0,b arr[0],bLen Number.parseInt(b),bTime Math.floor(totalTime / (bLen 9)),j 0;this.bit 0;this.ten 0;this.bitTimeId setInterval(_ {i ;this.bit i % 10; // 计数if (i - 10 aLen) {//千万不要忘记清除定时器哦clearInterval(this.bitTimeId);this.bitTimeId null;}}, aTime);this.tenTimeId setInterval(_ {j ;this.ten j % 10;if (j - 10 bLen) {clearInterval(this.tenTimeId);this.tenTimeId null;}}, bTime);}六、总结 这虽然是一个简单的效果但是包含的知识点很多这里又要强调了基础很是重要千万不要浮躁。^_^ 喜欢本文的小伙伴们,欢迎关注我的订阅号超爱敲代码,查看更多内容. 更多专业前端知识请上 【猿2048】www.mk2048.com
http://www.zqtcl.cn/news/175219/

相关文章:

  • 指数网站网站用ps下拉效果怎么做
  • 李沧网站建设电话从化企业网站建设
  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码
  • 江苏住房城乡建设厅网站一千块钱能注册公司吗
  • 山东兴华建设集团有限公司网站分类信息网站怎么做
  • 怎么用手机网站做软件西安网站建设开发熊掌号
  • asp.net做网站的流程杭州vi设计广告公司
  • 微信网站主题网络建设解决方案
  • 济南自助建站系统网站的外链建设计划
  • 中山低价网站建设一学一做教育视频网站有哪些内容
  • 网上最好的网站模块模板建站小程序
  • 安平县哪家做网站html动漫网站模板下载
  • 网站关于 模板wordpress adsence
  • 杭州公司网站建设如何选择五屏网站建设
  • 天津商城网站建设平面设计师网站
  • 上海的网站设计公司苏州网站建设渠道
  • 做美食没有广告的网站o2o网站建设
  • 网站程序调试模式怎么做做汽车特卖会的网站
  • 怎么有自己的网站政务公开网站建设方案
  • 济南装饰行业网站建设成都地区网站开发成本
  • 宁波产品网站设计模板网站建设需要通过哪些审批