【问题标题】:JQuery draggable and scrolling in a div with fixed heightJQuery在固定高度的div中可拖动和滚动
【发布时间】:2013-08-22 03:06:48
【问题描述】:

我一直在努力寻找应该是一项简单任务的答案。我想在一个固定高度的 div 内将图像堆叠在一起(所有相同的宽度)。简单的。但除了能够使用容器 div 的滚动条来上下扫描图像之外,我还希望 JQuery 可拖动小部件允许用户抓取并上下滑动图像堆栈。

我遇到的问题是:

  1. 拖动和滚动似乎没有关联,因此图像包装器 div 的位置与容器 div 的滚动条不匹配。
  2. 我想停止将最后一个图像滚动到包装器底部上方,同样,停止将顶部图像拖动到顶部下方。由于内容大于容器,因此在此处无法进行遏制。

我在这里扔了一个快速小提琴:http://jsfiddle.net/QhWbm/

// HTML
<div id="wrapper">
    <div id="scroller">
        <img src="http://placekitten.com/200/100" width="200" height="100" />
        <img src="http://placekitten.com/200/200" width="200" height="200" />
        <img src="http://placekitten.com/200/150" width="200" height="150" />
        <img src="http://placekitten.com/200/250" width="200" height="250" />
    </div>
</div>

// JS
$(document).ready(function(){
    $("#scroller").draggable({
        axis:"y"        
    });
});

// CSS
#wrapper {
    width: 220px;
    height: 200px;
    overflow: auto;
    border: 1px solid #ff0000;
}

快速播放将显示拖动和滚动条之间的断开连接,以及从顶部/底部拖动的能力。

任何建议都会很棒,非常感谢

【问题讨论】:

标签: jquery jquery-ui draggable


【解决方案1】:

dragscrollable jQuery 插件可以满足您的需求

$('#wrapper, #scroller').dragscrollable({
    dragSelector: 'img', 
    acceptPropagatedEvent: false
});

http://jsfiddle.net/QhWbm/1/

我在 jQuery 的插件网站上找不到它了,但是网上有几个它的镜像。

另见:How to drag and scroll in a div with jQuery

【讨论】:

  • 把这个留给像我一样来这里寻找问题的人:jsfiddle.net/QhWbm/189dragscrollable 的常见问题是鼠标离开 div/窗口时失去鼠标状态
  • 更好的解决方案!
猜你喜欢
  • 2013-02-22
  • 2011-07-30
  • 1970-01-01
  • 2011-06-21
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
相关资源
最近更新 更多