Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建具有边界的可拖动jquery ui datepicker控件_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 创建具有边界的可拖动jquery ui datepicker控件

Javascript 创建具有边界的可拖动jquery ui datepicker控件,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我知道如何使datepicker ui控件可拖动。我只是很难限制它水平位移的大小 很难用语言来解释 请注意如何水平拖动日期选择器。我不想: 该间隙应大于0。我希望datepicker的右侧部分具有相同的行为,以便日历始终可见。现在,如果向左拖动日历,则可以隐藏日历。另一方面,如果向右拖动它,则无法隐藏它。如果你的屏幕太小,你将无法看到上个月的情况 我应该采取什么方法来解决这个问题 Draggable引发一些事件(,),这些事件都提供了一个helper对象作为第二个参数,其中包含被拖动元素的

我知道如何使datepicker ui控件可拖动。我只是很难限制它水平位移的大小

很难用语言来解释

请注意如何水平拖动日期选择器。我不想:

该间隙应大于0。我希望datepicker的右侧部分具有相同的行为,以便日历始终可见。现在,如果向左拖动日历,则可以隐藏日历。另一方面,如果向右拖动它,则无法隐藏它。如果你的屏幕太小,你将无法看到上个月的情况

我应该采取什么方法来解决这个问题


Draggable引发一些事件(,),这些事件都提供了一个helper对象作为第二个参数,其中包含被拖动元素的位置和偏移量:

  • ui.position-辅助对象作为{top,left}对象相对于偏移元素的当前位置
  • ui.offset-辅助对象作为{top,left}对象相对于页面的当前绝对位置
我的解决方案是,在停止拖动时,如果拖动的元素在左侧拖得太远,则设置容器边缘的动画:

$("#draggable2").draggable({
    axis: "x",
    ...
    stop: function(e, ui) {
        if (ui.offset.left > 0) {
            $(this).animate({
                'left': (ui.position.left - ui.offset.left) + 'px'
            }, 250);
        }
    },
    containment: $("#draggableParent")
});​


我认为您可以轻松地进行一点挖掘,通过正确的拖动获得相同的结果。

底部的图像是我上传的,这样我就可以在我提供的链接上演示我的示例。。。