gpt4 book ai didi

javascript - 没有 .. 的 HTML 字幕

转载 作者:行者123 更新时间:2023-11-28 04:31:05 25 4
gpt4 key购买 nike

我正在尝试编写一个运行流畅的滚动文本。 <marquee>..</marquee>没有颠簸,标签就无法工作,我认为这不是好的编程。我想用 JavaScript 来做,但我完全是初学者。

我找到了一些易于理解的代码,但我认为看起来最好的滚动文本对我来说并不连贯。

也许有人可以向我解释我不明白的部分。

代码:

var marqueewidth="2400px"   
var marqueeheight="45px"
var speed=1
var pause=1 //stop by mouseover 0=no. 1=yes

var marqueecontent='<nobr><span style="font-size:40px">*** Wir wünschen einen guten Start in den Dezember!!! ***</span></nobr>'

var newspeed=speed
var pausespeed=(pause==0)? newspeed: 0

document.write('<span id="temp" style="visibility:hidden; position:absolute; top:0px; left:-9000px">'+marqueecontent+'</span>')

var actualwidth=''
var cross_marquee, ns_marquee

function populate(){
cross_marquee= document.getElementById("marquee")
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.getElementById("temp").offsetWidth
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate


function scrollmarquee(){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-newspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
}

with (document){
write('<div style="position:relative; top:655px; width:'+marqueewidth+'; height:'+marqueeheight+'; overflow:hidden">')
write('<div onMouseover="newspeed=pausespeed" onMouseout="newspeed=speed">')
write('<div id="marquee" style="position:absolute; left:0px; top:0px; "></div>')
write('</div></div>')
}

问题:为什么我需要 temp div ?以及如何交换 CSS 中的样式?

最佳答案

好吧,marquee 不仅被弃用了,它还是 obsolete现在。

当然你可以创建一个模拟效果的JavaScript函数。但是为此使用 CSS 更简单,当然也更流畅。

这是一个例子:

HTML

<div class="wrapper">
<p>Hey, how you're doing? Sorry you can't get through.</p>
</div>

CSS

.wrapper {
position: relative;
overflow: hidden;
height: 25px;
width: 100px;
border: 1px solid orange;
}

.wrapper p {
position: absolute;
margin: 0;
line-height: 25px;
white-space: nowrap;
animation: marquee 5s linear infinite;
}

@keyframes marquee {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}

演示

Try before buy

关于javascript - 没有 <marquee> .. </marquee> 的 HTML 字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159176/

25 4 0