繁体   English   中英

jQuery UI可调整大小的缩放比例仅为拖动的50%

[英]jQuery UI Resizable scaling by only 50% of drag

因此,我的目标是让用户设置页面的宽度,最后这里会有很多数据,并且不需要浪费分辨率。

无论如何,重新调整盒子大小的机制只有一半有效。 从字面上看,只能缩放到应有大小的一半。 例如,实际页面上的最小宽度设置为900px,屏幕的宽度为1920,当我将其抓到900并拖动到屏幕的一角时,我得到的宽度约为1410px。

我已经能够在此jsfiddle中重现它: http : //jsfiddle.net/FY23J/

主体的最右边是把手。 如果抓住它并移动它,您会看到该扩展仅在鼠标和原始边缘之间扩展一半。 我检查了jQuery UI文档,这不是预期的行为,如您在此处看到的: http : //jqueryui.com/demos/resizable/#default

这是我的CSS设置方式引起的吗? 有人知道如何解决吗?

我认为调整大小效果很好。 拖动鼠标20像素将对话框放大20像素。

问题是您使对话框居中,因此对话框两端的拖动距离增加了一半。

这是解决方案。 乘以2。关于此处的操作,没有太多文档,所以,如果不正确,请告诉我。 演示: http//jsfiddle.net/FY23J/3/

$( "#wrapper" ).resizable({
    handles: 'e',
    alsoResize: "#nav",
    minWidth: 900,
    maxWidth: $(window).width()-25,
    stop: function(event,ui){
        console.log(ui.size.width);
    },
    resize: function(event, ui) {
        var self = $(this).data("resizable"),
            o = self.options,
            cs = self.size,
            os = self.originalSize;

        var newWidth = os.width + (Math.round((cs.width - os.width)*2));
        newWidth = newWidth <= o.minWidth ? o.minWidth : newWidth;
        newWidth = newWidth >= o.maxWidth ? o.maxWidth : newWidth;
        console.log(newWidth);
        self.size.width = newWidth;
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM