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

绍兴做网站建设公司wordpress怎么放视频教程

绍兴做网站建设公司,wordpress怎么放视频教程,wordpress 动态js,wordpress主题图片怎么换vue数据无限滚动 参考来源 Vue3 实现消息无限滚动的新思路 —— 林三心不学挖掘机 完整代码中项目中使用了vuetify#xff0c;估div内的class会代表了对应的样式#xff0c;根据需要自行删减。 功能实现主要依赖js代码部分。 鼠标悬浮停止滚动#xff0c;鼠标离开恢复滚动在… vue数据无限滚动 参考来源 Vue3 实现消息无限滚动的新思路 —— 林三心不学挖掘机 完整代码中项目中使用了vuetify估div内的class会代表了对应的样式根据需要自行删减。 功能实现主要依赖js代码部分。 鼠标悬浮停止滚动鼠标离开恢复滚动在最后区别就是将scroll方法从onMounted中提取出来了。vue3代码 templatediv classscroll-container refscrollRefdiv v-for(item, index) in list :keyindex styleheight: 40px; line-height: 40px;{{ item.title }}/div/div /templatescript setup import { onMounted, ref } from vue defineOptions({name: publicRecruitment-bountyDisplay})// 容器的 dom 节点 const scrollRef ref() // 模拟列表数据 const dataSource new Array(10).fill(0).map((_, index) ({title: 这是一条信息${index} })) const list ref([...dataSource])// 记录原始数据的长度 const len dataSource.length onMounted(() {// 滚动的距离let top 0// 索引let index 0const scroll () {// 垂直方向滚动scrollRef.value?.scrollTo({top: top})if (top % 40 0) {// 哪一项滚不见了就拿这一项 push 到列表中const target list.value[index]if (target) list.value.push(target)if (index (len - 1)) {// 不断递增index} else {// 刚好滚动完一轮重新来过初始化数据top 0index 0scrollRef.value?.scrollTo({top: 0})list.value [...dataSource]}}// 不断滚动requestAnimationFrame(scroll)}scroll() }) /scriptstyle langscss scoped .scroll-container {// 防止有滚动条出现overflow: hidden;height: 150px; } /style兼容升级版本 1.如果数据长度形成的总高度少于容器高度不设置滚动 2.如果数据长度仅高于容器高度不足一个数据单位的长度会出现抖动滚动。解决方法将数据复制一份 删减代码!-- 滚动展示 -- templatediv styleheight: 100%; width: 100%;div classmb-3 stylefont-size: 13px; color: #666;无缝衔接滚动/div!-- 滚动 --divclassscroll-containerrefscrollRefstyleheight: calc(100% - 32px); overflow: hidden; font-size: 13px;color: #333;!-- 数据list --divv-for(item) in list:keyitem.nameclassd-flex justify-space-between align-center:styleheight: ${dataItemHeight}px;div classml-2{{ item.name }}/div/div/div/div /templatescript setup import { onMounted, ref } from vue defineOptions({name: publicRecruitment-bountyDisplay}) // 滚动实现代码部分 const dataItemHeight 40 // 容器的 dom 节点 const scrollRef ref() // // 模拟列表数据 let listSource new Array(10).fill(0).map((_, index) ({ name: name${index}})) const list ref([...listSource])// 记录原始数据的长度 let len listSource.length onMounted(() {// 滚动的距离let top 0// 索引let index 0const scroll () {// 垂直方向滚动scrollRef.value?.scrollTo({top: top,})if (top % dataItemHeight 0) {// 哪一项滚不见了就拿这一项 push 到列表中const target list.value[index]if (target) list.value.push(target)if (index len - 1) {// 不断递增index} else {// 刚好滚动完一轮重新来过初始化数据top 0index 0scrollRef.value?.scrollTo({top: 0,})list.value [...listSource]}}// 不断滚动requestAnimationFrame(scroll)}// 如果数据长度形成的总高度少于容器高度不设置滚动const clientHeight scrollRef.value?.clientHeightif (len*dataItemHeight clientHeight) {if ((len - 1)*dataItemHeight clientHeight) {// 如果clientHeight刚好大于len*dataItemHeight但不满足(len1)*dataItemHeight会出现抖动。// 解决方法将数据复制一份listSource listSource.concat(...Array.from({ length: 1 }, () [...listSource]))list.value listSourcelen listSource.length}scroll()} }) /script style langscss scoped .red {color: red; } .ellipsisText {// width: 120px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden; } /style 完整代码!-- 滚动展示 -- templatediv styleheight: 100%; width: 100%;div classmb-3 stylefont-size: 13px; color: #666;最近30天已有span classred68人/span提现成功累计提现span classred9450/span/div!-- 滚动 --divclassscroll-containerrefscrollRefstyleheight: calc(100% - 32px); overflow: hidden; font-size: 13px;color: #333;!-- 数据list --divv-for(item) in list:keyitem[keyText] || item.nameclassd-flex justify-space-between align-center:styleheight: ${dataItemHeight}px;!-- 头像、用户名 --div classd-flex align-centerv-avatar size30 :imageitem.avatar || https://minio.citupro.com/dev/menduner/7.png/v-avatardiv classml-2{{ formatName(item.name) }}/div!-- div classml-2{{ item.name }}/div --/divdiv classd-flex stylewidth: calc(100% - 65px);!-- 内容 --div classd-flex ellipsisText mx-4 styleflex: 1;div推荐到/divdiv classellipsisText ml-1 stylemax-width: 100px;{{ item.company }}/divdiv classellipsisText ml-1 stylemax-width: 60px;{{ item.job }}/div/div!-- 赏金 --div提现span classred{{ item.money }}/span/div/div/div/div/div /templatescript setup import { onMounted, ref } from vuedefineOptions({name: publicRecruitment-bountyDisplay}) defineProps({keyText: {type: String,default: id} }) const avatarList [https://img0.baidu.com/it/u230622178,1565949306fm253fmtautoapp138fJPEG?w449h300,https://img0.baidu.com/it/u1401084042,2724457850fm253fmtautoapp138fJPEG?w500h726,https://img1.baidu.com/it/u3995643348,1848098846fm253fmtautoapp138fJPEG?w800h800,https://img0.baidu.com/it/u230622178,1565949306fm253fmtautoapp138fJPEG?w449h300,https://img0.baidu.com/it/u1401084042,2724457850fm253fmtautoapp138fJPEG?w500h726,https://img1.baidu.com/it/u3995643348,1848098846fm253fmtautoapp138fJPEG?w800h800,https://img0.baidu.com/it/u230622178,1565949306fm253fmtautoapp138fJPEG?w449h300, ] let listSource [] for (let index 0; index 68; index) {const obj {id: id (index1),name: 用户 (index1),// name: (index1),avatar: avatarList[index % 7],company: 某某公司 (index1),job: 某某职位 (index1),money: index*index*(100 - index) || 100,}listSource.push(obj) }// 用户名加*号 const formatName (name) {if (!name.length) {return name} else if (name.length 1) { return name // 如果名字只有一个字则直接返回该字 } else if (name.length 2) { return name.charAt(0) * // 如果名字有两个字则返回第一个字后跟一个星号 } else { return name.charAt(0) ** // 如果名字有多于两个字则返回第一个字后跟两个星号 } }// 滚动实现代码部分 const dataItemHeight 40 // 容器的 dom 节点 const scrollRef ref() // // 模拟列表数据 // const listSource new Array(10).fill(0).map((_, index) ({ title: 这是一条信息${index}})) const list ref([...listSource])// 记录原始数据的长度 let len listSource.length onMounted(() {// 滚动的距离let top 0// 索引let index 0const scroll () {// 垂直方向滚动scrollRef.value?.scrollTo({top: top,})if (top % dataItemHeight 0) {// 哪一项滚不见了就拿这一项 push 到列表中const target list.value[index]if (target) list.value.push(target)if (index len - 1) {// 不断递增index} else {// 刚好滚动完一轮重新来过初始化数据top 0index 0scrollRef.value?.scrollTo({top: 0,})list.value [...listSource]}}// 不断滚动requestAnimationFrame(scroll)}// 如果数据长度形成的总高度少于容器高度不设置滚动const clientHeight scrollRef.value?.clientHeightif (len*dataItemHeight clientHeight) {if ((len - 1)*dataItemHeight clientHeight) {// 如果clientHeight刚好大于len*dataItemHeight但不满足(len1)*dataItemHeight会出现抖动。// 解决方法将数据复制一份listSource listSource.concat(...Array.from({ length: 1 }, () [...listSource]))list.value listSourcelen listSource.length}scroll()} }) /script style langscss scoped .red {color: red; } .ellipsisText {// width: 120px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden; } /style 完整代码二鼠标悬浮停止滚动鼠标离开恢复滚动!-- 滚动展示 -- templatediv styleheight: 100%; width: 100%; mouseoverhandleMouseover mouseleavehandleMouseleavediv classmb-3 stylefont-size: 13px; color: #666;最近30天已有span classred68人/span提现成功累计提现span classred9450/span/div!-- 滚动 --divclassscroll-containerrefscrollRefstyleheight: calc(100% - 32px); overflow: hidden; font-size: 13px;color: #333;!-- 数据list --divv-for(item) in list:keyitem[keyText] || item.nameclassd-flex justify-space-between align-center:styleheight: ${dataItemHeight}px;!-- 头像、用户名 --div classd-flex align-centerv-avatar size30 :imageitem.avatar || https://minio.citupro.com/dev/menduner/7.png/v-avatardiv classml-2{{ formatName(item.name) }}/div/divdiv classd-flex stylewidth: calc(100% - 65px);!-- 内容 --div classd-flex ellipsisText mx-4 styleflex: 1;div推荐到/divdiv classellipsisText ml-1 stylemax-width: 100px;{{ item.company }}/divdiv classellipsisText ml-1 stylemax-width: 60px;{{ item.job }}/div/div!-- 赏金 --div提现span classred{{ item.money }}/span/div/div/div/div/div /templatescript setup import { onMounted, ref } from vuedefineOptions({name: publicRecruitment-bountyDisplay}) defineProps({keyText: {type: String,default: id} }) const avatarList [https://img0.baidu.com/it/u230622178,1565949306fm253fmtautoapp138fJPEG?w449h300,https://img0.baidu.com/it/u1401084042,2724457850fm253fmtautoapp138fJPEG?w500h726,https://q7.itc.cn/q_70/images03/20240423/6d236fae5c8f44ed9b60d977f32debb7.jpeg,https://q1.itc.cn/q_70/images03/20240609/1c1be14298be4dbe978e55bde6e958b0.jpeg,https://q4.itc.cn/q_70/images03/20240528/298d4abda5e4469d98fa77e7cde46525.jpeg,https://q5.itc.cn/q_70/images03/20240520/ceb0d77d1be24eea8cd3826994eac1c1.jpeg,https://img1.baidu.com/it/u3995643348,1848098846fm253fmtautoapp138fJPEG?w800h800, ] let listSource [] for (let index 0; index 68; index) {const obj {id: id (index1),name: 用户 (index1),avatar: avatarList[index % 7],company: 某某公司 (index1),job: 某某职位 (index1),money: index*index*(100 - index) || 100,}listSource.push(obj) }// 用户名加*号 const formatName (name) {if (!name.length) {return name} else if (name.length 1) { return name // 如果名字只有一个字则直接返回该字 } else if (name.length 2) { return name.charAt(0) * // 如果名字有两个字则返回第一个字后跟一个星号 } else { return name.charAt(0) ** // 如果名字有多于两个字则返回第一个字后跟两个星号 } }// 滚动实现代码部分 const dataItemHeight 40 // 单位高度 const scrollRef ref() // 容器的 dom 节点 const list ref([...listSource]) // 滚动数据列表 let len listSource.length // 记录原始数据的长度 const scrollItem ref(null) let top 0 // 滚动的距离 let index 0 // 索引 const scroll () {// 垂直方向滚动scrollRef.value?.scrollTo({top: top,})if (top % dataItemHeight 0) {// 哪一项滚不见了就拿这一项 push 到列表中const target list.value[index]if (target) list.value.push(target)if (index len - 1) {// 不断递增index} else {// 刚好滚动完一轮重新来过初始化数据top 0index 0scrollRef.value?.scrollTo({top: 0,})list.value [...listSource]}}// 不断滚动scrollItem.value requestAnimationFrame(scroll)// setTimeout(() { scrollItem.value requestAnimationFrame(scroll) }, 20) // 延迟滚动- 20 : 1px。即:1秒滚动50px } const handleMouseover () { cancelAnimationFrame(scrollItem.value) } //暂停滚动 const handleMouseleave () { scroll() } // 恢复滚动 onMounted(() {// 如果数据长度形成的总高度少于容器高度不设置滚动const clientHeight scrollRef.value?.clientHeightif (len*dataItemHeight clientHeight) {if ((len - 1)*dataItemHeight clientHeight) {// 如果clientHeight刚好大于len*dataItemHeight但不满足(len1)*dataItemHeight会出现抖动。// 解决方法将数据复制一份listSource listSource.concat(...Array.from({ length: 1 }, () [...listSource]))list.value listSourcelen listSource.length}scroll() // 启动滚动} }) /script style langscss scoped .red {color: red; } .ellipsisText {// width: 120px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden; } /style
http://www.w-s-a.com/news/394977/

相关文章:

  • 常州网站建设工作室建立网站有怎么用途
  • 如何盗取网站推广策划书模板
  • 游戏网站建设计划书网络开发需要学什么
  • 手机网站维护费网站开发包括网站过程
  • 懂做游戏钓鱼网站的网站建设技术的发展
  • 网站被百度收录百度一下你就知道 官网
  • 雅客网站建设做网站用什么做
  • 做宣传海报网站专业网站设计速寻亿企邦
  • 秦皇岛市住房和城乡建设局网站有关网站开发的参考文献
  • 晋城城乡建设局网站深圳外贸业务员工资
  • 招聘网站开发的公司销售运营主要做什么
  • 徐州网站无障碍建设wordpress证书
  • c语言可以做网站吗请人做网站收费多少
  • 中英双语网站怎么做网站为什么做静态
  • 毕业设计做音乐网站可以吗网站运营方案
  • windos 下做网站工具网站右侧返回顶部
  • 点餐网站怎么做济源网站建设济源
  • 嘉兴公司网站制作文明网站的建设与管理几点思考
  • 扬州公司做网站徐州网站建设优化
  • 手机网站弹出层插件有哪些wordpress 文章标签
  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案
  • 服务器做ssr后还可以做网站吗品牌形象设计公司
  • 太原网站制作计划wordpress创建文章
  • 网站优化要怎么做seo网站关键词优化报价
  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱