拖动项目时,Javascript(jQuery)禁用页面滚动

时间:2012-02-07 12:21:07

标签: javascript jquery draggable jquery-ui-sortable

我有一个类似于小部件的系统,其中的小部件可以被拖动(使用jQuery draggable / sortable)。现在的问题是,当用户拖动其中一个小部件并将光标移动到边缘时,父div将滚动到光标的方向。

简化布局如下:

<div id="wrapper" style="width:WINDOW_WIDTH;">
  <div id="page_wrapper" style="width:10000px;">
    <div class="widget_page" style="width:WINDOW_WIDTH;">
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
    </div>        
    <div class="widget_page" style="width:WINDOW_WIDTH;">
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
      <div class="widget draggable"></div>
    </div>
  </div>
</div>

有什么方法可以禁用page_wrapper滚动?

2 个答案:

答案 0 :(得分:4)

尝试在page_wrapper的css中添加overflow:hidden;

答案 1 :(得分:0)

只需在要为其设置滚动条的父div上添加css属性“作为静态位置”即可。

$("selector").css("position","static");

例如。

$('.bottomSentences').draggable({
    cursor: 'move',
    helper: 'clone',
        start: function(e, ui)
        {
            $(ui.helper).addClass("ui-draggable-helper");
            $("#splitSentencesDiv").css("position","static");

        }       
}); 

在这里。 splitSentencesDiv是我为其设置滚动的Div。默认情况下,它的位置值是由bootstrap colclass相对设置的。