您现在的位置是:网站首页> 编程资料编程资料
JS实现弹幕小案例_javascript技巧_
2023-05-24
294人已围观
简介 JS实现弹幕小案例_javascript技巧_
本文实例为大家分享了JS实现弹幕小案例的具体代码,供大家参考,具体内容如下
效果图:

步骤分析:
1、收集用户输入内容,根据内容创建一个标签--span,追加到某个容器中
2、为元素设置位置
- left:右侧--大容器外面
- top:上半区
3、通过样式设置来实现元素的动画,也可以通过定时器的方式实现动画
4、细节
- 文本颜色随机
- span动画结束之后应该进行自动的清除
html代码:
吐槽:
css代码:
JS代码:
// 获取元素 let btn = document.querySelector('#btn') let text = document.querySelector('#text') let boxDom = document.querySelector('#boxDom') // 为按钮绑定事件 btn.addEventListener('click', function() { // 获取用户输入内容 // 表单元素input的值的获取是使用value let content = text.value // trim:去除左右空格 if (content.trim().length == 0) { alert('请输入一个内容再发弹幕') return } // 创建一个元素 // createElement:创建元素 let span = document.createElement('span') span.innerText = content // 为元素设置样式 // clientWidth:获取元素的实际宽度 // 设置left值为元素右侧外 span.style.left = boxDom.clientWidth + 'px' // 设置top为上半区随机位置 span.style.top = parseInt((Math.random() * boxDom.clientHeight) / 2) + 'px' // span.style.color = setColor() //设置字体的随机颜色 span.style.color = `rgb(${Math.random() * 255},${Math.random() * 255},${Math.random() * 255})` // 让元素动起来 -- 配合过渡样式 // setTimeout(() => { // span.style.left = -span.clientWidth + 'px' // }, 200) // 距停止位置的距离 let dis = boxDom.clientWidth // setInterval(需要执行的函数,时间间隔) let tid = setInterval(function() { dis -= 1 span.style.left = dis + 'px' // 移动到目标位置,清除定时器 if (dis < -span.clientWidth) { clearInterval(tid) // 将当前的span移除 span.remove() } }, 4) // 添加到指定容器中 // insertBefore:将指定的元素插入到参照元素的前面:父容器.insertBefore(子元素,参照元素) // appendChild:将元素追加到所有子元素的最后: 父容器.appendChild(子元素) // insertBefore:一定传入两个参数 boxDom.insertBefore(span, boxDom.children[0]) })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- vue.js动态修改background-image问题_vue.js_
- vue项目中页面底部出现白边及空白区域错误的问题_vue.js_
- Vue Router解决多路由复用同一组件页面不刷新问题(场景分析)_vue.js_
- JS实现用户管理系统_javascript技巧_
- JS实现微博发布功能_javascript技巧_
- Vue使用provide各种传值后inject获取undefined的问题及解决_vue.js_
- axios 拦截器管理类链式调用手写实现及原理剖析_JavaScript_
- JS利用循环解决的一些常见问题总结_javascript技巧_
- react-dnd实现任意拖动与互换位置_React_
- VScode中配置JavaScript编译环境的方法_javascript技巧_
