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

维基百科建设网站哪个杭州seo好

维基百科建设网站,哪个杭州seo好,南京电子商务网站建设,网站做优化必须要ftp吗vue3封装数值动态递增组件前言源码举个例子:前言 1)使用技术: vue3.2 Ts 2)组件接收参数: 参数类型意义是否可选valuenumber数值大小必填durationnumber递增动画持续时间(单位:s)…

vue3封装数值动态递增组件

  • 前言
  • 源码
  • 举个例子:


前言

1)使用技术:

vue3.2 + Ts

2)组件接收参数:

参数类型意义是否可选
valuenumber数值大小必填
durationnumber递增动画持续时间(单位:s)可选,默认为2
isDecimalboolean是否显示为小数可选,默认为false

3)补充:
组件本身没有过多样式,想实现不同样式可以在调用组件时自定义设置样式

源码

<template><div><span ref="numberDom">0</span></div>
</template><script setup lang="ts">
import { ref, onMounted, onBeforeUpdate, onBeforeUnmount, withDefaults, defineProps } from 'vue';/*** @param value 数值大小 * @param duration 递增动画持续时间;* @param isDecimal 是否显示为小数*/
const props = withDefaults(defineProps<{value: number,duration: number,isDecimal: boolean}>(), {duration: 2,isDecimal: false
})let timer: number  | null = null
const timerDelay = 5
const numberDom = ref<any>(null)onMounted(() => {numericalIncrement(numberDom.value)
})
onBeforeUpdate(() => {if (timer) {clearInterval(timer!)timer = null}numericalIncrement(numberDom.value)
})
onBeforeUnmount(() => {if (timer) {clearInterval(timer!)timer = null}
})/*** @method* @param ele 数值对应的dom元素* @desc 数值递增动画*/
const numericalIncrement = (ele: Element) => {const step = (props.value * timerDelay) / (props.duration * 1000)let current: number = 0let start: number = 0let flag: boolean = falsetimer = setInterval(() => {start += stepif (start >= props.value) {flag = props.isDecimalclearInterval(timer!)start = props.valuetimer = null}current = startif (flag) {ele.innerHTML = current.toString().replace(/(\d)(?=(?:\d{3}[+]?)+$)/g, '$1,')} else {ele.innerHTML = current.toFixed(0) .toString().replace(/(\d)(?=(?:\d{3}[+]?)+$)/g, '$1,')}}, timerDelay)
}
</script><style scoped>
div {display: inline-block;
}
</style>

举个例子:

1)使用代码

<template><div><NumericalIncrement :duration="2" :is-decimal="true" :value="val" class="num"></NumericalIncrement></div>
</template><script setup lang="ts">
import NumericalIncrement from './components/NumericalIncrement.vue'
import {ref,onMounted} from 'vue';
const val = ref(110)
onMounted(()=>{setTimeout(()=>{val.value=200},3000)
})
</script><style scoped>
.num {min-width: 40px;text-align: center;font-size: 20px;background-color: orange;color:#fff;
}
</style>

2)效果在这里插入图片描述


提示:文章到此结束,文章为个人学习记录,侵删。
http://www.ds6.com.cn/news/88896.html

相关文章:

  • vs做网站开发吗百度广告联盟平台的使用知识
  • 开办时 网站建设费 科目如何做网站设计
  • 国内哪家公司做网站最好网络游戏推广员
  • 外贸网站建设公司咨询百度权重怎么查询
  • 网站域名被做网站的公司擅自更改域名查询
  • 衡水企业做网站费用免费网页模板网站
  • 威客做的比较好的网站有哪些搜索引擎 磁力吧
  • 阿里云部署网站教程微信营销方法
  • 网站建设的实践报告浏览器搜索引擎大全
  • 网站建设销售经理职责宁德市人社局官网
  • 小伙做钓鱼网站 背警方带走万网域名
  • 可以做伦铜的网站网络舆情
  • 中山网站建设推荐重庆seo职位
  • 厦门市同安区建设局公开网站seo网站推广公司
  • 做网站要先做商标吗宁波建站模板系统
  • 撮合交易网站建设方案推蛙网络
  • 门户网站建设要点推广注册app拿佣金
  • wordpress页头关键词优化软件排行
  • table做的电脑端网站改成手机板中国重大新闻
  • 可靠的东莞网站推广百度推广如何计费
  • 做网站客服去哪应聘下载百度到桌面
  • 麻涌仿做网站互联网广告推广是做什么的
  • h5开发是什么意思百度seo关键词优化排行
  • 苏州建站长春网站建设公司哪个好
  • 百度网页制作网站建设百度官网认证免费
  • 网站开发好了如何上线关键词优化需要从哪些方面开展
  • 地名网站建设方案怎么找到当地的微信推广
  • 网站建设与网页设计制作点击器
  • 合肥公共资源交易中心seo全站优化全案例
  • 做婚纱的网站广州十大营销策划公司