我使用可拖動和可調整大小的元素,我在頁面上有兩種型別的框,小的沒有影像,大的有影像。
對于這 2 個元素,我在框中有可調整大小的文本,當用戶開始調整元素的大小時,我創建了 func,文本正在發生變化,對于大框,它作業正常,對于小框。
我喜歡這里的問題:
$('.box').resizable({
minWidth: 50,
minHeight: 44,
maxWidth: 205,
maxHeight: 87,
resize: function(event, ui) {
var size = ui.size;
$(this).children().css('font-size', (size.width * size.height) / 580 'px');
$(this).css('font-size', (size.width * size.height) / 580 'px');
}
});
對于小盒子我想設定這個引數:
$('.box').resizable({
minWidth: 20,
minHeight: 24,
maxWidth: 100,
maxHeight: 87,
resize: function(event, ui) {
var size = ui.size;
$(this).children().css('font-size', (size.width * size.height) / 580 'px');
$(this).css('font-size', (size.width * size.height) / 580 'px');
}
});
如果我為小元素設定不同的引數而不是正常作業。我如何為物件設定不同的引數。另外,我在視圖中動態創建了物件。
我的代碼 - jsFiddle
uj5u.com熱心網友回復:
我在這里研究過你的例子:https ://jsfiddle.net/Twisty/czhLjtud/12/
JavaScript
$(function() {
function calcFont(s) {
var result = Math.round((s.width * s.height) / 580);
return result "px";
}
$('.lpms3-box').draggable();
$('.lpms3-box > .box').resizable({
minWidth: 50,
minHeight: 44,
maxWidth: 205,
maxHeight: 87,
resize: function(event, ui) {
var newFont = calcFont(ui.size);
console.log(ui.size.width, ui.size.height, (ui.size.width * ui.size.height) / 580, "Set new font: " newFont);
$(this).css('font-size', newFont);
}
});
});
這似乎對兩個盒子都有效。目前尚不清楚為什么它不適合你。
對于數學,最好在附加任何字串項之前將所有部分包裝(起來。)例如:
(size.width * size.height) / 580 'px'
這段代碼有點模棱兩可, 可能被解讀為錯誤的運算子。我建議這樣做:
((size.width * size.height) / 580) 'px'
這樣,代碼就知道正確的操作,并將 用作 concat 運算子而不是加法運算子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430899.html
標籤:javascript jQuery jQuery-ui
