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

vue-封装上下(垂直方向)轮播

需求:没有找到特别好的上下轮播插件-所以自己写了一个简单的demo

一.上下平滑轮播-移入停止-移出继续轮播

<!--* 消息滚动
-->
<template><div class="news"><div id="roll" class="InfoBox" @mouseover="this.mouseOver" @mouseout="this.mouseOut"><div v-for="item in 5" :key="item" class="item">{{ item }}</div></div></div>
</template><script>
export default {mounted() {var area = document.getElementById("roll");// 多加了一组area.innerHTML += area.innerHTML;this.area = area;setInterval(this.scroll, 50);},data() {return {area: {},stop: false,scrollItemNumber: 0,};},methods: {scroll() {if (!this.stop) {// this.area.scrollHeight / 2 这是滚动所有元素的高度if (this.area.scrollTop >= this.area.scrollHeight / 2) {this.area.scrollTop = 0;} else {this.area.scrollTop++;}}},mouseOver() {this.stop = true;},mouseOut() {this.stop = false;},},
};
</script>
<style lang="scss" scoped>
.news {margin: 20px;height: 300px;background: aqua;text-align: center;.InfoBox {width: 300px;height: 300px;margin: 0 auto;overflow: hidden;background: rgb(94, 163, 233);.item {margin-top: 30px;padding: 10px;background: rgb(54, 230, 83);text-align: center;cursor: pointer;}}
}
</style>

二.加了控制条件的上下轮播-我只是写了个demo(我这个控制条件是5s停顿一次 接着轮播)

<!--* 消息滚动
-->
<template><div class="news"><div id="roll" class="InfoBox" @mouseover="this.mouseOver" @mouseout="this.mouseOut"><div v-for="item in 5" :key="item" class="item">{{ item }}</div></div></div>
</template><script>
export default {mounted() {var area = document.getElementById("roll");// 多加了一组area.innerHTML += area.innerHTML;this.area = area;setInterval(this.scroll, 50);},data() {return {area: {},stop: false,scrollItemNumber: 0,};},methods: {scroll() {// 控制什么时间 停顿一下 我用的是 5s停顿一次 这个可以根据自己需求if (this.scrollItemNumber !== 0 && this.scrollItemNumber % 100 === 0) {this.stop = true;setTimeout(() => {this.stop = false;this.scrollItemNumber = 0}, 1000)}if (!this.stop) {this.scrollItemNumber++console.log(this.scrollItemNumber);// this.area.scrollHeight / 2 这是滚动所有元素的高度if (this.area.scrollTop >= this.area.scrollHeight / 2) {this.area.scrollTop = 0;} else {this.area.scrollTop++;}}},mouseOver() {this.stop = true;},mouseOut() {this.stop = false;},},
};
</script>
<style lang="scss" scoped>
.news {margin: 20px;height: 300px;background: aqua;text-align: center;.InfoBox {width: 300px;height: 300px;margin: 0 auto;overflow: hidden;background: rgb(94, 163, 233);.item {margin-top: 30px;padding: 10px;background: rgb(54, 230, 83);text-align: center;cursor: pointer;}}
}
</style>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【XR806开发板试用】SPI驱动数码管显示
  • 语音深度鉴伪识别项目实战:基于深度学习的语音深度鉴伪识别算法模型(一)音频数据编码与预处理
  • 搭建CMS系统
  • MyBatis的基础操作
  • PHP身份证真伪验证、身份证二、三要素核验、身份证ocr接口
  • 【Redis】 关于列表类型
  • 【论文解读】Performance of AV1 Real-Time Mode
  • 软件测试面试题(七)
  • 【ES6】ECMAS6新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析
  • 代码随想录算法训练营day35 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II
  • Unity中使Main Camera显示Canvas的区域
  • NL6621 实现获取天气情况
  • 数据湖对比(hudi,iceberg,paimon,Delta)
  • 对竞品分析的理解
  • 树与二叉树的概念介绍
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【翻译】babel对TC39装饰器草案的实现
  • HTTP 简介
  • Java 内存分配及垃圾回收机制初探
  • Javascript编码规范
  • magento2项目上线注意事项
  • nodejs实现webservice问题总结
  • Otto开发初探——微服务依赖管理新利器
  • python3 使用 asyncio 代替线程
  • spring-boot List转Page
  • 日剧·日综资源集合(建议收藏)
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • -- 数据结构 顺序表 --Java
  • 原生 js 实现移动端 Touch 滑动反弹
  • k8s使用glusterfs实现动态持久化存储
  • Nginx实现动静分离
  • ​520就是要宠粉,你的心头书我买单
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​力扣解法汇总946-验证栈序列
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #NOIP 2014# day.1 T2 联合权值
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #宝哥教你#查看jquery绑定的事件函数
  • #前后端分离# 头条发布系统
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (0)Nginx 功能特性
  • (7)摄像机和云台
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (二)Linux——Linux常用指令
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (循环依赖问题)学习spring的第九天
  • .aanva
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net core使用ef 6
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献