html5长按动画效果(HTML5实现移动端弹幕动画效果)
类别:Web前端 浏览量:2944
时间:2021-10-07 00:03:35 html5长按动画效果
HTML5实现移动端弹幕动画效果思路
1.把单个内容编辑好,计算自身宽度,确定初始位置
2.移动的距离是屏幕宽度
3.js动态的添加css动画函数,将高度、动画移动时间、动画延迟时间都用随机数控制
代码:
html骨架结构
(以三个为例,如果觉得界面太长不友好,也可以js动态的生成)
<li class="cute-barrage"> <li class="barrage-li"> <img src="http://kw1-1253445850.file.myqcloud.com/static/image/stimg_7656dc02eb1cd13adbacbdd2695dc3a8.jpg"/> <span>一月一度的花呗还款期到啦<i>哈哈哈</i></span> </li> <li class="barrage-li"> <img src="http://kw1-1253445850.file.myqcloud.com/static/image/stimg_632fecdcb52417cb8ab89fa283e07281.jpg"/> <span>坐等发工资<i>呵呵呵</i></span> </li> <li class="barrage-li"> <img src="../../static/cutePresent/resource/avatar.png"/> <span>变有钱变有钱<i>耶耶耶</i></span> </li> </li>
css样式
.cute-barrage是确定展示范围和位置,宽度为100%,高度自定,横向超出部分隐藏
.barrage-li 内容部分,长度由内容决定,确定相对父级的位置
html,body{ width:100%; } .cute-barrage{ width: 100%; height: 4rem; /*确定弹幕长度*/ position: absolute; top: 1.5rem; /*确定弹幕高度*/ left: 0; overflow-x: hidden; /*横向超出部分隐藏*/ .barrage-li{ position: absolute; top: 0; right: -100%; /*保证一开始在界面外侧,从右向左就是right,从左向右就是left*/ height: 0.6rem; background-color: rgba(255, 255, 255, 0.9); border-radius: 2rem; white-space: nowrap; /*确保内容在一行显示,不然移动到最后会折行*/ img{ width: 0.5rem; height: 0.5rem; vertical-align: middle; //内联块元素,居中对齐 padding-left: 0.05rem; border-radius: 50%; } span{ font-size: 14px; padding: 0 0.1rem; line-height: 0.6rem; //内联块元素,居中对齐四个缺一不可 height: 0.6rem; //内联块元素,居中对齐四个缺一不可 display: inline-block; //内联块元素,居中对齐四个缺一不可 vertical-align: middle; //内联块元素,居中对齐四个缺一不可 i{ color: #fe5453; font-weight: 700; } } } }
js动态动画实现(zepto.js)
//弹幕 var winWidth = $(window).width(); //获取屏幕宽度 $(".barrage-li").each(function(index,value){ //遍历每条弹幕 var width = $(value).width(); //获取当前弹幕的宽度 var topRandom = Math.floor(Math.random() * 3) + 'rem'; //获取0,1,2的随机数 可根据情况改变 $(value).css({"right":-width,"top":topRandom}); //将弹幕移动到屏幕外面,正好超出的位置 //拼写动画帧函数,记得每个ani要进行区分,宽度从自己的负宽度移动一整个屏幕的距离 var keyframes = `\ @keyframes ani${index}{ form{ right:${-width}px; } to{ right:${winWidth}px; } }\ @-webkit-keyframes ani${index}{ form{ right:${-width}px; } to{ right:${winWidth}px; } }`; //添加到页面的head标签里面 $("<style>").attr("type","text/css").html(keyframes).appendTo($("head")); //定义动画速度列表 var aniList = [3,5,7,9,11]; //取数组的随机数,0,1,2,3,4 var aniTime =Math.floor(Math.random() * 5); //给当全前弹幕添加animation的css //延迟的时间用每个的*1.5倍,这个可变 $(value).css({"animation":`ani${index} ${aniList[aniTime]}s linear ${index * 1.5}s`,"-webkit-animation":`ani${index} ${aniList[aniTime]}s linear ${index * 1.5}s`}); })
总结
以上所述是小编给大家介绍的HTML5实现移动端弹幕动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣
- html5自动静音(html5录音功能实战示例)
- html5div例子(html5 外链式实现加减乘除的代码)
- html5移动app开发实战(html5启动原生APP总结)
- html5canvas功能介绍(Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 附转换公式)
- webgl api 源码(基于 HTML5 WebGL 实现的医疗物流系统)
- html5标签怎么做(html5用video标签流式加载的实现)
- html5 video标签
- 用html5的canvas绘制剪裁图像(Html5 canvas画图白板踩坑)
- html5表单实例(使用HTML5和CSS3表单验证功能)
- 如何获取html5表单中的元素的值(html5 datalist 选中option选项后的触发事件)
- html5所有特性(HTML5 FileReader对象的具体使用方法)
- html5单选项怎么调选项间距(html5实现输入框fixed定位在屏幕最底部兼容性)
- html5横向滚动(解决HTML5中滚动到底部的事件问题)
- HTML5 播放 RTSP 视频的实例代码(HTML5 播放 RTSP 视频的实例代码)
- html5 布局设计(Html5导航栏吸顶方案原理与对比实现)
- html5游戏新手引导开发(使用数据结构给女朋友写个Html5走迷宫游戏)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 数字藏品市场有多乱 周杰伦丢了 一只猴 ,损失超300万(数字藏品市场有多乱)
- 这里输入关键词(怎么输入关键词搜索)
- 得这个 难治病 的人太多了,300个人赶到杭州商量怎么办(得这个难治病的人太多了)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
热门推荐
- css3自制像素细线(css3绘制百度的小度熊)
- 服务器如何搭建自己的网站(个人搭建网站的服务器选择方法)
- linux wait函数(分析从Linux源码看TIME_WAIT的持续时间)
- 腾讯云主机可以挂游戏吗(云主机能挂网络游戏么?)
- sql统计天数怎么算(SQL对数据进行按月统计或对数据进行按星期统计的实例代码)
- dedecms添加文档(Dedecms自定义模型解决会员无法投稿的方法)
- ExtJs中怎么上传文件
- python处理各种xml文件(Python使用sax模块解析XML文件示例)
- python抽奖转盘代码(详解python--模拟轮盘抽奖游戏)
- sql server导入数据csv文件(大容量csv快速内导入sqlserver的解决方法推荐)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9