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

长沙城乡建设部网站首页内容导购网站模板

长沙城乡建设部网站首页,内容导购网站模板,手机网站预约表单,南通网站建设方法滚动弹幕案例 一、需求 1.页面上漂浮字体大小不一、颜色不一&#xff0c;从左向右滚动的弹幕&#xff1b; 2.底部中间有一个发送功能&#xff0c;可以发送新的弹幕&#xff1b; 3.底部的发送部分可以向下收起和弹出。 二、html <div class"container"><…

滚动弹幕案例

一、需求

1.页面上漂浮字体大小不一、颜色不一,从左向右滚动的弹幕;
2.底部中间有一个发送功能,可以发送新的弹幕;
3.底部的发送部分可以向下收起和弹出。

二、html

<div class="container"><div class="content"><p>哈哈哈哈哈</p><p>哈哈哈哈哈哈哈哈</p><p>哈哈哈哈哈</p><p>哈哈哈哈哈哈哈</p><p>哈哈哈哈哈哈哈哈哈哈哈哈哈</p><p>哈哈哈哈哈哈哈哈哈哈</p><p>哈哈哈</p></div><div class="input-box"><input type="text"><button>发射</button></div><button class="show">收起</button>
</div>

三、css

<style>.container{margin:0 auto;width: 500px;height: 400px;border:1px solid black;position:relative;}.content {width: 500px;height: 365px;position:relative;overflow: hidden;}.input-box {width: 500px;height: 30px;position:absolute;bottom:0;}.input-box input {width: 400px;height: 25px;float:left;} .input-box button{width: 90px;height: 30px;float:right;cursor:pointer;}@keyframes moveDanmu {from{left:-100%}to{left:100%}}p{white-space: nowrap;position:absolute;animation: moveDanmu 8s linear infinite;left:-100%;}.show {width: 50px;height: 30px;position:absolute;left:500px;bottom:0px;}
</style>

四、javascript

<script>const container =document.querySelector('.container')const content =document.querySelector('.content')const danmus = document.querySelectorAll('.content p')const text = document.querySelector('.input-box input')const button = document.querySelector('.input-box button')const inputBox = document.querySelector('.input-box')const show = document.querySelector('.show')//创建随机颜色function getRandomRGBColor(){const r = Math.floor(Math.random()*255)const g = Math.floor(Math.random()*255)const b = Math.floor(Math.random()*255)return `rgb(${r},${g},${b})`}//创建top值function getRandomTop(){return (Math.floor(Math.random()*content.offsetHeight)- 44 +'px')}console.log(content.offsetHeight);//创建随机大小function getRandomFontSize(){return (Math.floor(Math.random()*30)+14+'px')}//发送弹幕button.addEventListener('click',function(){if(text.value!==''){const danmu = document.createElement('p')danmu.textContent = text.valuedanmu.style.color = getRandomRGBColor()danmu.style.top= getRandomTop()danmu.style.fontSize = getRandomFontSize()content.appendChild(danmu)text.value = ''// 弹幕滚动结束后移除danmu.addEventListener('animationend', () => {danmuContainer.removeChild(danmu);});}})//已有弹幕danmus.forEach((hadDanmu)=>{const randomDelay=Math.floor(Math.random()*10000)hadDanmu.style.color = getRandomRGBColor()hadDanmu.style.top= getRandomTop()hadDanmu.style.fontSize = getRandomFontSize()hadDanmu.style.animationDelay = randomDelay+'ms'})//展开收起let isInputHidden = falseshow.addEventListener('click',function(){if(isInputHidden){inputBox.style.display='block'show.textContent='收起'}else{inputBox.style.display='none'show.textContent='展开'}isInputHidden=!isInputHidden})
</script>

五、样式截图

请添加图片描述

六、实现原理

  1. 使用Math.random随机生成方法,构建随机颜色、随机大小、随机绝对定位高度
  2. 对于已有的弹幕,针对每一个弹幕随机生成颜色大小位置,并且设置css动画(animation)使其从左到右运动,对每个弹幕设置不同的延迟时间出现,形成弹幕效果。
  3. 对于即将发送的弹幕,需新建p元素,且同样随机生成颜色大小位置,弹幕内容为input的value值,最后将其添加至已有弹幕p元素后。
  4. 发送条的展开收起,引入布尔变量isInputHidden并设置初始值为false,按钮内容初始设置为收起,发送条display初始值为block,当点击收起按钮,按钮收起–>展开,发送条block–>none,isInputHidden值取反,相反同理。
http://www.dtcms.com/wzjs/533022.html

相关文章:

  • 网站外链建设的八大基本准则百度关键词优化费用
  • 广州我网站制作淄博微网站
  • 广东微信网站制作公司哪家好建站宝盒哪个牌子好
  • 专门制作网站富阳房产网
  • 导购网站需要备案吗一般网站建设多少钱便宜的网站好吗
  • 许昌工程建设信息网站visual studio网站开发
  • 常州北京网站建设苏州保洁公司电话
  • 黄骅市住房和城乡建设局网站婚庆公司合同模板
  • 百度文库ai助手网页版网站优化设计
  • 网站性能策划大连做企业网站的公司
  • 娄底网站建设建站外贸建设网站公司
  • 游戏攻略网站怎么做杭州的互联网公司有哪些
  • 网站区分本地怎样上传自己做的网站
  • 镇江网站营销推广wordpress文章调用链接
  • 网站优化推广公司推荐重庆公司联系方式
  • 找做柜子的网站湖南做网站
  • 平台网站开发多少钱火车头wordpress
  • 温州做网站软件wordpress模板仿qq空间
  • 招标网站官网上海闵行
  • 昆明住房和城乡建设局网站全球展览设计的图片
  • 有好点的做网站的公司吗js特效网站欣赏
  • 霍尔果斯建设局网站公司网站备案材料
  • 辽宁沈阳建设工程信息网站河北建设工程信息网停用公告
  • 如何提高你的网站的粘性网络舆情的应对及处理
  • 做钢材生意一般做什么网站好多用户商场源码下载
  • 看风格的网站最新国际要闻
  • 网站伪静态如何配置百度关键词竞价价格
  • 石家庄网站建设刘华网站平台设计费用
  • 建设网站的网站叫什么seo关键词布局
  • 中国建设行业峰会网站怎样自己建设网站