Javascript Jquery UI可排序检测上下轴

Javascript Jquery UI可排序检测上下轴,javascript,jquery,jquery-ui,resizable,Javascript,Jquery,Jquery Ui,Resizable,我正在努力检测轴N是向上还是向下移动?我还希望物体(h2和p)在里面,保持在这个位置上。有人能帮忙吗 标题 摘要 $(函数(){ $('.ss区域对象')。可调整大小({ 网格:[1,1], 句柄:“n,s”, 调整大小:功能(e、ui){ var handle_axis=$(this).data('ui-resizable').axis; $(this).find('h2,p')。每个(函数(mk,mv){ var obj_top=parseInt($(this.position().to

我正在努力检测轴N是向上还是向下移动?我还希望物体(h2和p)在里面,保持在这个位置上。有人能帮忙吗


标题
摘要

$(函数(){ $('.ss区域对象')。可调整大小({ 网格:[1,1], 句柄:“n,s”, 调整大小:功能(e、ui){ var handle_axis=$(this).data('ui-resizable').axis; $(this).find('h2,p')。每个(函数(mk,mv){ var obj_top=parseInt($(this.position().top); 如果(句柄_轴==='n'){//n轴,向下移动,然后减去一 $(this.css('top',(obj_top-1)+'px'); }else if(句柄_轴=='s'){ } }); }, 停止:函数(e,ui){} }); });
例如,我知道:

$(函数(){
var s=$('h2').position().top;
var p=$('h2').position().top;
var height\u font\u s=68;//定义手动
var height\u font\u p=88;//定义手动
$('.ss区域对象')。可调整大小({
网格:[1,1],
句柄:“n,s”,
调整大小:功能(e、ui){
var handle_axis=$(this).data('ui-resizable').axis;
var t=$('.ss zone object').position().top;
$(this.find('h2').css('top'),((t-(s+height\u font\u s)))+'px');
$(this.find('p').css('top',((t-(p+height\u font\u p)))+'px');
},
停止:函数(e,ui){}
});
})
.ss区域对象{
背景色:#ccc;
位置:绝对位置;
}
.ss分区对象h2、.ss分区对象p{
位置:绝对位置;
}

标题
摘要


不太确定您在这里想要实现什么

我正在努力检测轴N是向上还是向下移动

如果要检测轴(N或S),只需在resize事件处理程序中检查以下内容:

var handle_axis = ui.originalPosition.top === ui.position.top ? "s" : "n";
我还希望物体(h2和p)在里面,保持在这个位置上

当调整南轴的大小时,没有问题,因为元素的位置是在contianer的顶部


调整北轴的大小时,两个元素的顶部位置相对于父元素永远不会改变。但是,您可以使用ui.originalSize和ui.size来确定新的排名。或者只是将位置设置为固定。

我通过添加临时克隆div成功地做到了这一点


“Jquery UI sortable检测轴向上和向下”?,
$('.ss zone object')。可调整大小({
)阅读此内容可能会有所帮助。您能否更具体地回答您的问题?轴N是什么?您的意思是当您滚动时,div内的对象需要保持固定吗?
var handle_axis = ui.originalPosition.top === ui.position.top ? "s" : "n";
$('.ss-zone-clone').resizable({
        grid: [1, 1],
        handles: 'n,s',
        containtment: 'parent',
        start: function (e, ui) {
            $(this).css({
                'background': 'rgba(255,255,255,0.5)',
                    'z-index': 1
            });
        },
        resize: function (e, ui) {
            var handle_axis = $(this).data('ui-resizable').axis;
        },
        stop: function (e, ui) {
            $(this).css({
                'background': 'rgba(255,255,255,0.5)',
                    'z-index': 0
            });

            var h2_top = $('.ss-zone-object').find('h2').position().top;

            var orig_top = ui.originalPosition.top;
            var cur_top = ui.position.top;
            var new_top;

            new_top = (cur_top - orig_top);

            $('.ss-zone-object').css({
                'height': ui.size.height + 'px',
                    'top': cur_top + 'px'
            });

            $('.ss-zone-object').find('h2').css('top', (h2_top - new_top));

        }
    });