javascript - 如何在拖动时调整 div 的大小? [轮换问题]

标签 javascript jquery html css

我需要能够在拖动两个处理程序时调整 div 的大小。

请使用以下链接

http://jsbin.com/lopumaheyu/1/

点击绿色方框,拖动橙色方框后,脚本正常运行,绿色方框大小调整。

我在将 CSS 旋转应用于绿色框时遇到问题,示例:

http://output.jsbin.com/zirugeroju/1/

正如您所注意到的,用户拖动的相反旋钮有一个快捷键。

  • 这里可能有什么问题以及如何解决?
  • 也欢迎使用 jQuery 提供更好的解决方案

 resize: function (handler, event) {
                if (event.clientX <= 0) { // cover bug
                    return;
                }
                var elm = document.getElementById(this.config.elm);
                switch (handler) {
                    case 'tl':
                        // x
                        var marginR = elm.offsetLeft + elm.clientWidth,
                            newW = marginR - event.clientX,
                            xPos = event.clientX;
                        elm.style.left = xPos + 'px';
                        elm.style.width = newW + 'px';
                        // y
                        var marginT = elm.offsetTop + elm.clientHeight,
                            newH = marginT - event.clientY,
                            yPos = event.clientY;

                        elm.style.top = yPos + 'px';
                        elm.style.height = newH + 'px';
                        this.setPositionHandlers();
                        break;
                    case 'tr':
                        break;
                    case 'bl':
                        break;
                    case 'br':
                        var newW = event.clientX - this.config.x,
                            newH = event.clientY - this.config.y;
                        elm.style.width = newW + 'px';
                        elm.style.height = newH + 'px';
                        this.setPositionHandlers();
                        break;
                }
            },

最佳答案

我想你可以添加:

-webkit-transform-origin: left top;

#target 上避免左上角橙色处理程序上的小 swift。

#target {
    background-color: lightgreen;
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    -webkit-transform-origin: left top;
    transform: rotate(10deg);
}

关于javascript - 如何在拖动时调整 div 的大小? [轮换问题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303031/

相关文章:

jquery - 我怎样才能从类(class)中删除角色?

javascript - tweenMax.to 在 React componentDidMount 中不起作用

javascript - 当数据库中有\n 时,在浏览器中显示新行 <br>

javascript - 简单但奇怪的 HTML,jQuery 问题。无缘无故的函数循环

javascript - 尽管有值,HTML 输入字段仍返回空白

html - 使用 css 隐藏空表(带空格)

html - 内容溢出时左对齐

javascript - 在静态 HTML 页面上设置 keith-wood CountDown

javascript - 将缓冲区添加到页面底部的简单方法?

javascript - 在 ES6 中使用 Koa.js