1

我的用户界面中有一个小部件,它位于浏览器右下角的固定位置。

我希望用户能够单击小部件的标题部分并能够向上拖动它并有效地增加小部件的高度。小部件的底部、左侧和右侧属性将保持不变,但顶部应该能够更改以允许达到由其 css max-height 定义的小部件的最大高度。

有没有这样的例子?我知道 jQueryUI 具有可调整大小的行为,但不幸的是我不能在这个项目上使用 jQueryUI。然而,我们正在使用 jQuery。

非常感谢任何提示或想法或 jsfiddle exaples。只是为了让我朝着正确的方向前进。我看了一个 CSS3 可调整大小,它把标准的调整大小图标放在右下角,就像这个 textarea。

4

2 回答 2

0

也许这个插件可以提供帮助?

http://dev.iceburg.net/jquery/jqDnR/

于 2011-10-21T17:44:03.250 回答
0

只用 jQuery 就可以做到这一点。在我的脑海中,你可能会做这样的事情:

<div id="widget">
    <h3 id="widget-header">Header</h3>
    some content
</div>

<script language="javascript" type="text/javascript">
    var clientY = 0;
    var offset = null;
    var changeSize = false;

    $(function () {
        $("#widget-header")
            .mousedown(function (event) {
                clientY = event.pageY;
                offset = $("#widget").offset();
                changeSize = true;
            })
            .mousemove(function (event) {
                if (changeSize) {

                    // get the changes
                    var difY = event.pageY - clientY;
                    offset.top += difY;

                    // animate the changes
                    $("#widget").offset({ top: offset.top, left: offset.left });
                    $("#widget").height($("#widget").height() - difY);

                    // update the new positions
                    clientY = event.pageY;
                }
            })
            .mouseup(function (event) { changeSize = false; })
            .mouseout(function(event) { changeSize = false; });
    });

</script>
于 2011-10-21T18:06:52.863 回答