gpt4 book ai didi

jQuery 调整旋转元素的大小

转载 作者:行者123 更新时间:2023-12-03 22:50:23 25 4
gpt4 key购买 nike

我已经四处寻找这个问题,但还没有真正找到明确的解决方案或示例来解决它。使用 jQuery,当我旋转可调整大小的对象时, handle 和后续的调整大小操作都会出错。我该如何解决或解决这个问题?这是我正在谈论的示例:http://jsfiddle.net/LVU7c/

fiddle 中的代码是:

$('#widget').resizable({ handles: 'n, e, s, w' });

和 CSS 将简单的 div 标签旋转 90 度。

最佳答案

此基本概念由 Linus Gudn Jokela 发布,他删除了他的答案,尽管我提出了要求,但仍未恢复。

您可以对内容使用旋转的内部包装,然后将调整大小 handle 附加到保持不旋转的外部元素。

需要一些 JS 代码来保持内容与容器的高度和宽度同步。这是完整的演示:http://jsfiddle.net/fXthv/

JS:

$('#widget').resizable({
handles: 'n, e, s, w',
resize: function(){
correct(this);
}
});

function correct(el) {
var widget = $('#widget_content'),
deg = widget.data("rotate");
if (typeof deg == "number") {
widget.css({
width: (function () {
if (deg % 180 == 0) return $(el).outerWidth()
else return $(el).outerHeight()
})(),
height: (function () {
if (deg % 180 == 0) return $(el).outerHeight()
else return $(el).outerWidth()
})(),
marginLeft: (function () {
if (deg % 360 == 90) return $(el).outerWidth();
else if (deg % 360 == 180) return $(el).outerWidth();
else return 0;
//else if (deg % 360 == 270) return $(el).outerWidth();
})(),
marginTop: (function () {
if (deg % 360 == 270) return $(el).outerHeight();
else if (deg % 360 == 180) return $(el).outerHeight();
else return 0;
//else if (deg % 360 == 270) return $(el).outerWidth();
})()
});
}
}

CSS:

#widget {
width: 100px;
height: 100px;
background-color: #cecece;
}
#widget_content {
margin-left:100px;
width: 100px;
height: 100px;
background-image: url(http://aux.iconpedia.net/uploads/2106003206.png);
background-size: 100% 100%;
/* removing the styles below will make the image appear as expected */
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-ms-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform:rotate(90deg);
-ms-transform:rotate(90deg);
/* IE 9 */
-moz-transform:rotate(90deg);
/* Firefox */
-webkit-transform:rotate(90deg);
/* Safari and Chrome */
-o-transform:rotate(90deg);
/* Opera */
}

HTML:

<div id="widget">
<div id="widget_content"></div>
</div>

关于jQuery 调整旋转元素的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15079598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com