Javascript 文本溢出时选取框文本
这是我的问题。假设我有3个div标签,都是100像素宽:Javascript 文本溢出时选取框文本,javascript,jquery,html,css,marquee,Javascript,Jquery,Html,Css,Marquee,这是我的问题。假设我有3个div标签,都是100像素宽: <--- DIV WIDTH ---> Text in div 1 Text in div two, it overflows Text in div three <--- DIV WIDTH ---> 我想做的是,如果文本溢出,它会像字幕一样滚动,因此如果您稍等一下,所有文本都可以看到。但我只希望字幕显示文本是否溢出 我该怎么做 Thx,Tony$(函数(){ $(function(){ $box = $(
<--- DIV WIDTH --->
Text in div 1
Text in div two, it overflows
Text in div three
<--- DIV WIDTH --->
我想做的是,如果文本溢出,它会像字幕一样滚动,因此如果您稍等一下,所有文本都可以看到。但我只希望字幕显示文本是否溢出
我该怎么做
Thx,Tony$(函数(){
$(function(){
$box = $('div.box');
$box.children().each(function(){
if ($box.width() < $(this).width()) {
$(this).wrap('<marquee>');
}
)};
});
$box=$('div.box');
$box.children().each(函数()){
如果($box.width()<$(this.width()){
$(此).wrap(“”);
}
)};
});
将在jQuery中工作(我还没有检查它。如果您对它有任何问题,请回复)。或者,您可以在css中设置一个滚动属性。这不会解决所描述的问题(div中的纯文本),但如果这只是一个最小的情况,您可以使用
溢出:auto
,如果溢出,它将添加一个水平滚动条
(还要注意,marquee是一个非标准的HTML标记。)解决条件部分 JS
条件部分可以像rennat建议的那样轻松解决
您可以使用jQuery吗?如果是,则构建与兼容的html,只需调用$(element).marquee();对于动画。它比“
”标记好,因为它只使用具有正确css属性的div(避免使用非标准标记)。为了它的价值,我不得不使用.outerWidth()而不是width()。marquee是。为什么要在这里使用jQuery,而您在这里所做的只是将一些元素包装到标记中?可以在代码中完成,不是吗?!
$(function(){
$box = $('div.box');
$box.children().each(function(){
if ($box.width() < $(this).width()) {
$(this).wrap('<marquee>');
}
)};
});
var el = $('your element');
if (el.get(0).scrollWidth > el.width()) {
// Your marquee code here
}