微信小程序-手持弹幕_文字内容横屏滚动_小程序弹幕源码
哈喽,大家好,我是SCLQ。
最近在抖音刷到手持弹幕的视频,觉得是一个非常有趣应用,在手持弹幕小程序这个软件当中,你可以设置很长一段话,很适合追星。挑战一下自己,做一个小程序的手持弹幕应用。
微信小程序搜索“超超实用工具”,打开菜单,点击手持弹幕即可免费使用。
先扫码体验吧

效果:

可以自定义字体属性

话不多说,上操作:
WXML:
<view class="textBox" style="background-color:{{backgroundColor}}">
<view class='text' style="font-size: {{fontSize}}rpx; animation: animateText {{animateTime}}s infinite linear; color:{{fontColor}}"> {{text}} </view>
</view>
<view class="inputBox">
<input class="inp" placeholder="请输入弹幕~" bindinput="inputBlur" cursor-spacing='10'></input>
<view bindtap="sendBtn" class="iconfont icon-1huojian iconBtn1"> 发送</view>
<view bindtap="showModal" class="iconfont icon-qita3 iconBtn1">属性</view>
</view>
<!--屏幕背景变暗的背景 -->
<view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
<!-- 屏幕内容 -->
<view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}">
<view class="swiper-tab swiperAttr">
<view class="iconfont icon-jurassic_font-sizeadd swiper-tab-item {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">字号</view>
<view class="iconfont icon-yanse1 swiper-tab-item {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">颜色</view>
<view class="iconfont icon-Group- swiper-tab-item {{currentTab==2?'active':''}}" data-current="2" bindtap="clickTab">速度</view>
<view class="iconfont icon-beijingse swiper-tab-item {{currentTab==3?'active':''}}" data-current="3" bindtap="clickTab">背景</view>
</view>
<swiper current="{{currentTab}}" duration="300" bindchange="swiperTab">
<!-- 字体大小 -->
<swiper-item>
<view class="swiperItem1">
<slider show-value value='{{sliderValOfFontSize}}' bindchanging='changeFontSize' selected-color='#006AFE'></slider>
</view>
</swiper-item>
<!-- 选择颜色 -->
<swiper-item>
<view class="swiperItem2">
<view class="colorBox" bindtap="setColor">
<view class="colorItems" wx:for='{{colorArr}}' data-index="{{index}}" style="background-color:{{item.color}}" wx:key=''></view>
</view>
</view>
</swiper-item>
<!-- 字体速度 -->
<swiper-item>
<view class="swiperItem1">
<slider show-value bindchanging='changeTextSpeend' selected-color='#006AFE' value='{{sliderValOfAnimateTime}}'></slider>
</view>
</swiper-item>
<!-- 背景颜色 -->
<swiper-item>
<view class="swiperItem2">
<view class="colorBox" bindtap="setBackGroundColor">
<view class="colorItems" wx:for='{{colorArr}}' data-index="{{index}}" style="background-color:{{item.color}}" wx:key=''></view>
</view>
</view>
</swiper-item>
</swiper>
</view>
WXSS:
page{
margin: 0;
padding: 0;
}
.textBox{
height: 100vh;
display: flex;
justify-content: center;
background-color: black;
position: relative;
}
.text{
transform:rotate(90deg);
height: 1rpx;
display: flex;
align-items: center;
white-space: nowrap;
/* background-color: salmon; */
position: fixed;
top: 280%;
color: white;
/* margin-top: -1%; */
}
@keyframes animateText{
0%{
margin-top: 0%;
}
100%{
margin-top: -700%;
}
}
.inputBox{
position: fixed;
bottom: 1%;
display: flex;
/* background-color: saddlebrown; */
}
.inp{
border: 1px #333333 solid;
border-radius: 50rpx;
margin-left: 30rpx;
padding-left: 20rpx;
color: white;
font-size: 30rpx;
width: 390rpx;
height: 63rpx;
}
.iconBtn1{
/* border: 1px white solid; */
width: 130rpx;
height: 70rpx;
border-radius: 60rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 30rpx;
font-weight: bold;
background-color: #333333;
color: white;
margin-left: 10rpx;
}
.swiperItem1{
padding-top: 15%;
padding-left: 5%;
}
.swiperItem2{
padding-top: 15%;
}
/* 色块 */
.colorBox{
display: flex;
justify-content: space-evenly;
}
.colorItems{
width: 50rpx;
height: 50rpx;
}
/* 弹起框的样式 */
/*使屏幕变暗 */
.commodity_screen {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.8;
overflow: hidden;
z-index: 1000;
color: #fff;
}
/*对话框 */
.commodity_attr_box {
height: 430rpx;
width: 100%;
overflow: hidden;
position: fixed;
bottom: 0;
left: 0;
z-index: 2000;
background: #282828;
border-radius: 10rpx 10rpx 0 0;
}
/* swiper start */
.swiper-tab{
width: 100%;
border-bottom: 2rpx solid #373737;
text-align: center;
height: 88rpx;
line-height: 88rpx;
font-weight: bold;
background-color: #282828;
}
.swiper-tab-item{
display: inline-block;
width: 25%;
color:#939393;
background-color: #282828;
}
.active{
background-color: #006AFE;
color:white;
border-bottom: 4rpx solid#373737;
}
swiper{
color: white;
background-color: #282828;
}
关注我,分享更多实用小工具!
微信小程序-手持弹幕_文字内容横屏滚动_小程序弹幕源码的更多相关文章
- 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的 | 百篇博客分析OpenHarmony源码 | v20.04
百篇博客系列篇.本篇为: v20.xx 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的 | 51.c.h .o 精读内核源码就绕不过汇编语言,鸿蒙内核有6个汇编文件,读不懂它们就真的很难理解 ...
- 微信小程序中如何实现分页下拉加载?(附源码)
转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...
- 微信小程序之蓝牙开发(详细读数据、写数据、附源码)
本文将详细介绍微信小程序的蓝牙开发流程(附源码)准备:微信只支持低功耗蓝牙也就是蓝牙4.0,普通的蓝牙模块是用不了的,一定要注意. 蓝牙可以连TTL接到电脑上,再用XCOM调试 一开始定义的变量 va ...
- 【浅墨著作】《OpenCV3编程入门》内容简单介绍&勘误&配套源码下载
经过近一年的沉淀和总结,<OpenCV3编程入门>一书最终和大家见面了. 近期有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的文件夹,方便大家更好的了解这本书的内容.事实上近 ...
- iOS电商常见动画与布局、微信悬浮窗、音乐播放器、歌词解析、拖动视图等源码
iOS精选源码 MXScroll 介绍 混合使用UIScrollView ios 电商demo(实现各种常见动画效果和页面布局) 一行代码集成微信悬浮窗 可拖动,大小的视图,可放置在屏幕边缘. 在使用 ...
- Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)
上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...
- Web程序员开发App系列 - 开发我的第一个App,源码下载
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- 使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)
如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...
- 资深程序员教你如何实现API自动化测试平台!附项目源码!
原文链接: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够, 2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他们并行开发. 3.同时让自 ...
- asp微信支付代码v4.1无需证书版,带回调入库的asp支付源码
昨天帮一个客户写的,他的程序是老的asp,想实现微信在手机上下单付款,让帮忙给写一份asp微信支付的接口代码,昨天晚上闲着没事,搞了一个晚上才搞好,其实asp支付并不需要安装证书,其实asp支付也很好 ...
随机推荐
- 力扣33(java&python)-搜索旋转排序数组(中等)
题目: 整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 ...
- PS(Photoshop CC2019)安装教程
记录一下自己安装PS2019版本的安装过程~ 先获取安装资料: 百度网盘链接: 链接:https://pan.baidu.com/s/15tzmq-6JQCdVn378ZFqXJA?pwd=997y ...
- 力扣341(java)-扁平化嵌套列表迭代器(中等)
题目: 给你一个嵌套的整数列表 nestedList .每个元素要么是一个整数,要么是一个列表:该列表的元素也可能是整数或者是其他列表.请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数. ...
- 从 RxJS 到 Flink:如何处理数据流?
简介: 前端开发的本质是什么?响应式编程相对于 MVVM 或者 Redux 有什么优点?响应式编程的思想是否可以应用到后端开发中?本文以一个新闻网站为例,阐述在前端开发中如何使用响应式编程思想:再以计 ...
- Hologres揭秘:优化COPY,批量导入性能提升5倍+
简介: 揭秘Hologres优化COPY的技术原理,实现批量导入性能提升5倍+ Hologres(中文名交互式分析)是阿里云自研的一站式实时数仓,这个云原生系统融合了实时服务和分析大数据的场景,全面兼 ...
- [Go] godoc 打开本地文档, windows 同样适用
godoc 提供了在无网环境下 浏览官方文档的便利. 示例: $ go get golang.org/x/tools/cmd/godoc $ godoc -http=localhost:6060 Li ...
- XAML 给资源起个好名字 用 StaticResource 起一个别名
本文来和大家聊一下关于 XAML 资源的定义的事情,和开发技术关系不大,更多的是开发的思路 在稍微大一点的项目里,肯定 XAML 资源是少不了的.对于 XAML 资源,行业里讨论多(非小白讨论)的是关 ...
- dotnet OpenXml SDK 形状填充渐变色的主题色
在 Office 文档的一些有趣的设计,颜色和画刷是可以继承的,这个继承包括了属性的继承.在形状填充里面使用的渐变色是可以一部分属性放在主题里面,主要找到主题里面的画刷,替换掉形状自己定义的内容,才是 ...
- python01-03作业
# 小球落地,一共运动了多少米 hight = 100 # 原始高度 distance = 0 # 和 for i in range(10): # 将 下落 高度加入到 和 中 distance += ...
- await this.$nextTick()和this.$nextTick(callback)有什么区别?记一次bug调试
背景 需要实现一个需求,一个小区业务详情页面,在左侧菜单栏切换了小区后,详情页跟着切换. 这个详情页面是根据url上的/:id来确定小区id的,所以切换了小区后,应该切换路由. 于是这样实现: wat ...