我已经构建了一个随机顺序从数据库加载歌曲的音乐播放器。我想在信息面板中显示曲目信息。因为我不知道艺术家/曲目名称的长度,所以如果信息太大,我希望信息可以滚动以显示字幕效果。我被告知浏览器的marquee标签的实现是坏的,所以我有一个jquery插件为我做了一个很好的平滑的方式(我假设auther知道为什么他们不好,并已经排序)。 目前为止这么好。使div的容器溢出来与marquee.js一起工作
问题是,选取框无法解决它是否需要,因此我想在调用它之前运行检查以查看是否有必要(即文本的长度是否保证)。
现在我敢肯定,这里的问题是一个简单的CSS之一,但我不能为我的生命数字出来 - 你知道,当你已经在太长时间盯着的东西...
我我试图做的是调用内部的div如果内部div的内容比外部div大,但无论我做什么我似乎无法让我的内部div水平伸展超出我的外部div除非我设置一个固定的宽度(这不是很有用,因为我不知道内容的宽度)。
这里是我的简单的HTML(包装中包含一些其他的东西飘来两侧):
<div id="mplayerinfo_wrapper"><div id="mplayerinfo_trackinfo"><div id="ti_inner"></div></div></div>
这里是我的简单的CSS:
#mplayerinfo_wrapper{
width:545px;
height:30px;
margin-top:32px;
display:inline-block;
float:left;
}
#mplayerinfo_trackinfo{
height:30px;
width:238px;
display:inline-block;
overflow:hidden;
float:left;
}
#ti_inner{
float:left;
height:30px;
width:auto;
}
我则希望使用jQuery获得两个元素的宽度,比较它们,如果内部比外部大,则像这样启动选取框:
var owidth=$('#mplayerinfo_trackinfo').width();
var iwidth=$('#ti_inner').width();
if(iwidth>owidth){$('#ti_inner').marquee();};
如果这不能通过CSS来解决,是否有用jQuery/JavaScript获取内容宽度。有任何想法吗?在此先感谢
即使内部div中的内容大于外部div,内部div也只能获得与其容器一样大的内容。检查内部div的文本长度并决定是否应该使用基于此的选取框可能更容易。 – 2012-02-17 21:48:31
这可能也有帮助 - http://stackoverflow.com/questions/143815/how-to-determine-using-javascript-if-html-element-has-overflowing-content – 2012-02-17 21:49:49