首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jQuery用户界面中为可调整大小的元素设置差异参数

如何在jQuery用户界面中为可调整大小的元素设置差异参数
EN

Stack Overflow用户
提问于 2022-01-18 11:59:36
回答 1查看 49关注 0票数 0

我使用可拖动和可调整大小的元素,页面上有两种类型的框,小的没有图像,大的有图像。

对于这两个元素,我在框上有可调整大小的文本,当用户开始调整元素的大小时,使用文本更改,对于大框,它是正常工作的,对于小no,我创建了func。

我喜欢这里的问题:

代码语言:javascript
复制
 $('.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');
          }
        });

对于小盒子,我想设置这个参数:

代码语言:javascript
复制
$('.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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-18 17:39:19

我在这里做过你的例子:https://jsfiddle.net/Twisty/czhLjtud/12/

JavaScript

代码语言: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);
    }
  });
});

这似乎适用于这两个盒子。还不清楚为什么它不适合你。

对于数学,最好在附加任何字符串项之前将所有部件包装在()中。例如:

代码语言:javascript
复制
(size.width * size.height) / 580 + 'px'

这段代码有点模棱两可,+可能被解读为错误的运算符。我建议这样做:

代码语言:javascript
复制
((size.width * size.height) / 580) + 'px'

这样,代码就知道了正确的操作,并将使用+作为连接运算符,而不是加法运算符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70755271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档