2011-09-28 64 views

回答

7

您可以使用resize事件處理函數。訣竅是如何計算新的字體大小。檢查此方案作爲一個變體:

HTML:

<div id="resizable" class="ui-widget-content"> 
    <h3 class="ui-widget-header">Resizable</h3> 
    <div id="content">Quis non magna sagittis, et cras tortor nunc? Enim, lectus et quis penatibus enim augue eros, dis sit sit urna cras placerat sociis porta</div> 
</div> 

的Javascript:

var initDiagonal; 
var initFontSize; 

$(function() { 
    $("#resizable").resizable({ 
     alsoResize: '#content', 
     create: function(event, ui) { 
      initDiagonal = getContentDiagonal(); 
      initFontSize = parseInt($("#content").css("font-size")); 
     }, 
     resize: function(e, ui) { 
      var newDiagonal = getContentDiagonal(); 
      var ratio = newDiagonal/initDiagonal; 

      $("#content").css("font-size", initFontSize + ratio * 3); 
     } 
    }); 
}); 

function getContentDiagonal() { 
    var contentWidth = $("#content").width(); 
    var contentHeight = $("#content").height(); 
    return contentWidth * contentWidth + contentHeight * contentHeight; 
} 

你可以看看這個解決方案在的jsfiddle:jsFiddle link

+0

非常感謝。非常感謝您的幫助,我真的非常感謝。 –

+0

好東西。我不太明白這個問題! – rooney

+0

你爲什麼要乘以3?對不起,我不明白它來自哪裏? – edgarjs

2

文字大小與jQuery無關。但是,您可以將CSS屬性綁定到滑塊。

$('#slideBar').slider({ 
    startValue: 12, 
    minValue: 0, 
    maxValue: 100, 
    stop: function(e, ui) { 
     $("#text").css({fontSize: ui.value + 8}); 

    } 
}); 
+0

感謝您的幫助非常感激。 –

相關問題