試試看看這個代碼。希望它能幫助你一個好的解決方案。 我將寬度設置爲零值,然後使用計時器將寬度設置爲先前的值以使其再次呈現。
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