javascript实现弹幕效果

本篇文章将使用 JavaScript 实现简单弹幕效果。


代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>javascript实现弹幕效果</title>
    <style>
        /* 弹幕显示区域样式 */
        #oneDanmuContainer {
            width: 800px;
            height: 400px;
            background-color: #f0f0f0;
            position: relative;
            overflow: hidden;
        }

        /* 弹幕元素样式 */
        .oneDanmu {
            position: absolute;
            top: 50%;
            white-space: nowrap;
            animation: moveOneDanmu 10s linear infinite;
        }

        /* 弹幕动画 */
        @keyframes moveOneDanmu {
            from {
                left: 100%;
            }
            to {
                left: -100%;
            }
        }
    </style>
</head>

<body>
    <input type="text" id="oneDanmuInput" placeholder="输入弹幕内容">
    <button id="oneSendButton">发送</button>
    <div id="oneDanmuContainer"></div>

    <script>
        const oneDanmuInput = document.getElementById('oneDanmuInput');
        const oneSendButton = document.getElementById('oneSendButton');
        const oneDanmuContainer = document.getElementById('oneDanmuContainer');

        // 为发送按钮添加点击事件监听器
        oneSendButton.addEventListener('click', function () {
            
            const oneDanmuText = oneDanmuInput.value;
            if (oneDanmuText.trim() !== '') {
                // 创建一个新的弹幕元素
                const oneDanmuElement = document.createElement('div');
                oneDanmuElement.classList.add('oneDanmu');
                oneDanmuElement.textContent = oneDanmuText;

               
                const oneRandomTop = Math.random() * (oneDanmuContainer.offsetHeight - 20);
                oneDanmuElement.style.top = oneRandomTop + 'px';

            
                oneDanmuContainer.appendChild(oneDanmuElement);

          
                oneDanmuInput.value = '';

                oneDanmuElement.addEventListener('animationend', function () {
                    oneDanmuElement.remove();
                });
            }
        });
    </script>
</body>

</html>




效果如下:
在这里插入图片描述



← 上一篇 Java进阶——Stream流以及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——注解一文全懂 →
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值