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 meta标签
- html5应用的几个建议
- html5input标签的默认属性(移动端HTML5 input常见问题小结)
- html5发送文字特效(HTML5调用手机发短信和打电话功能)
- html5基础知识入门(萌新HTML5 入门指南二)
- html5导航栏跳转(Html5跳转到APP指定页面的实现)
- html5弹出窗口(Html5页面上如何禁止手机虚拟键盘弹出)
- 如何获取html5表单中的元素的值(html5 datalist 选中option选项后的触发事件)
- ios如何播放html5(Html5移动端适配IphoneX等机型的方法)
- html5自定义字体图标(HTML5给汉字加拼音收起展开组件的实现代码)
- h5打开小程序点允许(html5跳转小程序wx-open-launch-weapp踩坑)
- html5div例子(html5 外链式实现加减乘除的代码)
- html5页面布局框架(html5移动端自适应布局的实现)
- HTML5离线缓存
- html5带放大镜的搜索代码(html5借用repeating-linear-gradient实现一把刻度尺ruler)
- html5横向滚动(解决HTML5中滚动到底部的事件问题)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
热门推荐
- zabbix怎么监控容器(zabbix监控vmware exsi主机的图文步骤)
- iframe解决跨域问题(跨域修改iframe页面内容详解)
- docker怎么搭建私有服务器(docker搭建CMS点播系统带播放器功能)
- 什么是网页挂马,怎么防范网页被挂马
- vue动态列表布局(vue项目实现左滑删除功能完整代码)
- 怎么用php制作图片(PHP压缩图片功能的介绍)
- php对接微信付款(PHP微信支付功能示例)
- python中if条件语句如何使用(对python中if语句的真假判断实例详解)
- python操作json格式(详解python 3.6 安装json 模块simplejson)
- sql server高可用的实现方式(sql server 编译与重编译详解)