试试看看这个代码。希望它能帮助你一个好的解决方案。 我将宽度设置为零值,然后使用计时器将宽度设置为先前的值以使其再次呈现。
HTML:
<div>
<textarea name="text">WANDER LUST</textarea>
</div>
<div>
<button class="btn-text-align" data-rule="textAlign" data-value="left">Left</button>
<button class="btn-text-align" data-rule="textAlign" data-value="center">Center</button>
<button class="btn-text-align" data-rule="textAlign" data-value="right">Right</button>
</div>
的Javascript:
(function($) {
$('.btn-text-align').on('click', function(){
$obj= $(this);
rule= $obj.attr('data-rule');
ruleValue= $obj.attr('data-value');
textElement= $(':input[name="text"]')[0];
textElement.style[rule]= ruleValue;
width= textElement.style['width'];
textElement.style['width']= '0px';
timerElement = setInterval(function() {
textElement.style['width']= width;
clearInterval(timerElement);
}, 10);
})
})(jQuery);
http://jsfiddle.net/zLwq140x/
尝试'的document.getElementById( '文本1')style.textAlign = “左”;' – David 2013-04-23 13:05:48
感谢大卫,是的,在这行代码之前,我也尝试了你的建议。但我没有工作。 – Exception 2013-04-23 13:08:05
看起来像视图没有被刷新,因为它报告了正确的值。他们只能通过设置textAlign来调整宽度。不幸的是,如果您将其设置回原始宽度,则不再修复它。即使你减小宽度并用额外的填充来弥补它。 – 2013-04-23 18:31:19