我試圖在鼠標點擊時縮小50%的圓圈。我通過使用jQuery UI的縮放效果做到了這一點。如何縮小包含文本的div?
股利是
<div id='circle' class='circle'></div>
JS的是
var percent = 0.5;
$('#circle').click(function() {
var height = $(this).height();
var width = $(this).width();
var centerX = $(this).position().left + $(this).width()/2.0;
var centerY = $(this).position().top + $(this).height()/2.0;
$(this).effect("scale", { percent: percent * 100 }, 1000, function() {
var newTop = centerY - (height * percent)/2.0;
var newLeft = centerX - (width * percent)/2.0;
$('#circle').offset({ 'top': newTop, 'left': newLeft });
$('#circle').css({'height': height * percent, 'width': width * percent });
});
});
這段代碼的工作,直到我說圓上一些文字像
<div id='circle' class='circle'>
<span class="title">Title</span>
</div>
標題並縮小與圓形,但完成後恢復到原來的大小,並使圓形成橢圓形。請嘗試這個小提琴:http://jsfiddle.net/marsant/Ycakg/
除了手動調整完成回調之外,有沒有一種簡潔的方法來解決這個問題?謝謝!
'顯示:表cell'模擬真實的表的單元格的行爲(所有單元具有相同的高度,內容不能逃脫其容器/細胞,並且細胞沒有邊緣,但它們可以具有填充和邊界)。此外,應用於display:table-cell元素的任何浮點數都會取消表格單元格的效果。因此,一旦達到文本的寬度,div就不會變窄,從而將它變成橢圓形。您將需要轉到其他顯示設置,或者使用寬度/高度縮小文本。 –