<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> </style> </head> <body> <div> <input id="msg" /> <button onclick="sendMsg()">发送</button> </div> </body> <script> // 1.发送弹幕 function senMsg() { var msg = document.getElementById("msg").value console.log(msg) // 2.创建一个对象,用于填充获取到值 var div_EL = document.createElement("div"); console.log(div_EL) // 3.将值赋于到div中,也设置样式 div_EL.innerText = msg; div_EL.style.float = "right"; div_EL.style.marginRight = 10 + "px"; console.log(3333) // 4.将该元素插入到页面 document.body.appendChild(div_EL) } </script> </html> 补充代码,实现从右到左的弹幕
时间: 2023-08-14 17:55:32 浏览: 94
-doctype-html-html-lang-en-dir-ltr-head-meta-name:
要实现从右到左的弹幕效果,可以修改一下代码。以下是补充的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
.barrage {
position: absolute;
top: 0;
right: -100%;
white-space: nowrap;
transition: all 5s linear;
}
</style>
</head>
<body>
<div>
<input id="msg" />
<button onclick="sendMsg()">发送</button>
</div>
</body>
<script>
// 1.发送弹幕
function sendMsg() {
var msg = document.getElementById("msg").value;
// 2.创建一个div元素作为弹幕容器
var divEl = document.createElement("div");
divEl.innerText = msg;
divEl.className = "barrage";
// 3.将该元素插入到页面
document.body.appendChild(divEl);
// 4.设置定时器,将弹幕从右到左移动
setTimeout(function() {
divEl.style.right = "100%";
}, 100);
// 5.设置定时器,移除弹幕元素
setTimeout(function() {
document.body.removeChild(divEl);
}, 6000);
document.getElementById("msg").value = ""; // 清空输入框
}
</script>
</html>
```
这段代码中,我们创建了一个名为"barrage"的 CSS 类来设置弹幕的样式。在发送弹幕时,我们创建一个包含文本内容的 div 元素,并将其添加到页面中。然后,通过设置定时器来实现弹幕从右到左移动的效果,最后设置另一个定时器来移除弹幕元素。
请注意,代码中的 `transition` 属性控制了弹幕的过渡效果,当前设置为 5 秒钟,您可以根据需要进行调整。
希望这段代码能满足您的需求!如有其他问题,请随时提问。
阅读全文