HTML:
<div id="Header">
<div id="HeaderTitle">
This is a very long title which should should force HeaderTitle to expand.
</div>
</div>
JavaScript:
$(document).ready(function() {
$('#HeaderTitle').mouseover(function(e) {
var distanceToMove = $(this).width() - $('#Header').width();
var timeToTakeMoving = 30 * distanceToMove;
$(this).animate({
marginLeft: "-" + distanceToMove + "px"
}, timeToTakeMoving);
}).mouseout(function(e) {
$(this).stop(true).animate({
marginLeft: "0px"
});
});
});
JSFiddle:http: //jsfiddle.net/QQtp6/7/
我希望让 div 'HeaderTitle' 展开以将文本保存在其中。这将允许我在鼠标悬停时滚动文本。为什么 div 不保存其内容?
编辑:这里的目标不是让所有文本都可见。我想在固定宽度的 div 中显示部分文本,然后通过该 div 滚动文本。
例子:
如果文本是:“FULL TEXT HERE”,我希望只有“FULL TE”才会显示,直到鼠标悬停。到那时,我希望它会过渡到“TEXT HERE”,而 FULL 会隐藏到 LHS。
EDIT2:我相信解决方案是对 HeaderTitle 使用跨度而不是 div。一瞬间。
EDIT3:发布的解决方案