我有,我想改變用+和文本的字體大小的文本區域 - 按鈕。jQuery的字體大小操縱文本區域摳圖
我知道如何獲得字號使用JavaScript/jQuery的改變。這一切都很好。然而,我的問題是,隨着字體大小的增長,它開始伸出文本框。第一行的上半部分將被塞在文本輸入區域的頂部條之下。我試着按比例調整行高字體大小的增加,但它似乎並沒有解決問題
這裏是我的代碼:
HTML
<div style="color: #0D1E28">
<a href="#" id="minustext">-</a>
<a href ="#" id="resetfont">
<span style="font-size: 9px; letter-spacing: -3px;">A</span>
<span style="font-size: 16px;">A</span>
</a>
<a href="#" id="plustext">+</a>
</div>
<textarea name="txtOutput" id="txtOutput" style="width: 600px; height: 550px; line-height: 8.5; overflow: auto; font-size: 21.5px;" rows="2" cols="20" readOnly="readonly">
</textarea>
的JavaScript
$(document).ready(function() {
$("#plustext").click(function() { resizeText(1); });
$("#minustext").click(function() { resizeText(-1); });
$("#resetfont").click(function() { $("#txtOutput").css('font-size', "14px"); });
});
function resizeText(multiplier) {
if ($("#txtOutput").css('font-size') == "") {
$("#txtOutput").css('font-size', "12px");
var currentFontSize = $("#txtOutput").css('font-size');
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = (currentFontSizeNum + (multiplier * 0.5)) + "px"; ;
var currentLineHeight = $("#txtOutput").css('line-height');
if (currentLineHeight == "normal") {
currentLineHeight = "1";
}
var currentLineHeightNum = parseFloat(currentLineHeight, 10);
var newLineHeight = (currentLineHeightNum + (multiplier * 0.5));
$("#txtOutput").css('line-height', newLineHeight).css('font-size', newFontSize);
}
意見建議?
此代碼不能正常工作。您可以設置字體大小行這樣的:$( 「#txtRegistryReportOuput」)的CSS( '字體大小', '12像素')不是這樣的:$( 「#txtRegistryReportOuput」)的CSS( '字號')= 「12像素」 ; –
對不起,我會更新它。我試圖改變名稱爲公共目的,但我錯過了一些。感謝您的支持 – George
@George - 問題不僅僅在於id,而在於您試圖爲函數調用的結果賦值,而這是您無法做到的。完成你想要做的事情的正確方法是在調用'.css()'的時候將字體大小設置爲第二個參數。即,'.css(「font-size」,「12px」)',而不是'.css(「font-size」)= 12px'。 – gilly3