【问题标题】:jQuery Get Previous and Next element on DragjQuery在拖动时获取上一个和下一个元素
【发布时间】:2010-07-15 17:02:29
【问题描述】:

我正在尝试做一个时间表。时间线几乎没有以绝对位置放置在随机位置上的动态关键帧元素。 有没有办法获得相对于可拖动拖动器的上一个和下一个元素?类似于“如果#dragger 在左侧:55px,下一个元素是左侧的 .keyframe 102px:102px,上一个元素是左侧的 .keyframe 32px:32px”。

我在http://jsfiddle.net/3pXC9/1/ 有一个演示,只需拖动红色条,拖动时我应该根据位置获得它的“兄弟”。

谢谢

【问题讨论】:

    标签: jquery jquery-ui draggable


    【解决方案1】:

    这样的?

    演示:http://jsfiddle.net/3pXC9/11/

    使用的Javascript:

    stop: function(event, ui) {
            var this_left = $(this).position().left;
            var keyframes = $(".keyframe");
            var closest_left = [null,0], closest_right = [null,0];
    
            keyframes.each(function(index) {
    
                    var t = $(this);
                    var offset = t.position().left - this_left;
                    if (offset >= 0) {
                            if (closest_right[0] == null || offset < closest_right[1]) {
                                    closest_right[0] = t;
                                    closest_right[1] = offset;
                            }
                    }
                    else {
                            if (closest_left[0] == null || offset > closest_left[1]) {
                                    closest_left[0] = t;
                                    closest_left[1] = offset;
                            }
                    }
            });
            /*
            closest_left[0] = closest element to the left (null if none)
            closest_left[1] = offset relative to the dragger
            the same goes for closest_right
            */
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多