有没有办法在jQuery/JavaScript中确定字符串的像素长度?
更长的时间我对HTML标签感到好奇<marquee>
.
您可以在MDN规范中找到:
已过时 此功能已过时.虽然它可能仍然适用于某些浏览器,但不鼓励使用它,因为它可以随时删除.尽量避免使用它.
或者在W3C维基上:
不完全是.不要使用它.
我搜索了几篇文章,发现一些关于CSS相关替换的提及.CSS属性如:
marquee-play-count
marquee-direction
marquee-speed
Run Code Online (Sandbox Code Playgroud)
但看起来,它们不起作用.它们是2008年规范的一部分,但在2014年被排除在外
W3 Consortium提出的一种方法是使用CSS3动画,但对我来说似乎比易于维护更复杂<marquee>
.
还有很多JS替代品,有很多源代码可以添加到项目中并使它们更大.
我总是把事情看作:"不要使用字幕","已经过时".我不明白为什么.
那么,任何人都可以向我解释一下,为什么要大肆宣传,为什么这么"危险"使用它以及最简单的替代方法是什么?
我找到了一个例子,看起来不错.当您使用良好浏览器支持所需的所有前缀时,您有大约20-25行CSS,其中2个值是硬编码的(开始和停止缩进),具体取决于文本长度.此解决方案不够灵活,您无法使用此方法创建自下而上的效果.
我正在设计网页,我需要将文本从显示器屏幕的左侧移动到屏幕的右侧.我试过<marquee>
标签.它没有任何错误.
我的要求是,当文本即将在网页右侧消失时,它应该从页面的左侧开始出现.它不应该等待所有文本消失然后从左侧开始.
直到现在我一直在使用它<html>
.请另外建议其他方法.
我目前想要制作几个图像的选框,但我的代码只允许一个.你知道我可以在这段代码中添加几个图像吗?(我已经尝试将图像直接添加到正文中的div元素中 - 它不起作用.)
<style type="text/css">
<!--
#container {
background-image: url(images/avycopy.jpg), url(images/5mwmcp.jpg);
height:428px;
width:284px;
background-repeat:repeat-x;
background-size:284px 428px;
background-position: top left, top right;
}
-->
</style>
<script type="text/javascript">
<!--
var p=0;
var speed=20; // vary this to suit, larger value - slower speed
window.onload=function() {
gallery();
}
function gallery() {
document.getElementById('container').style.backgroundPosition=p+'px 0';
p--; //change this to p-- for right to left direction
setTimeout('gallery()',speed);
}
//-->
</script>
Run Code Online (Sandbox Code Playgroud) 抱歉,如果我措辞错误,不知道如何表达我的需求。
假设我在 div 中有一个段落:
<div style="width: 50px">
<p>Hi</p>
</div>
Run Code Online (Sandbox Code Playgroud)
澄清一下:我的意思是创建这些“老派”移动文本栏,其中文本从栏的右边缘开始,并以一定的速度一个像素一个像素地移动到左边缘,消失,然后再次相同图案。
我没有找到任何“移动文本”的代码(当然不在 ES6 中)[1],[2]。我发现的大部分内容都是在 Jquery 中,就像这篇文章一样,但我想要一个 ES6 vanilla 解决方案。