由于每一次去实现拖拽功能,都要手动的去添加事件,编写逻辑,因此此次试着将拖拽功能给封装一下,下次用的时候能够比较方便的使用:css
demo下载:web
https://pan.baidu.com/s/1C3qFvFaGIMmZ3QMPNTinwgspa
使用说明:code
window.initRollingBall({ parentID:"content-control",//默认body scrollID:"main-container",//滚动容器对象 zIndex:2001,//弹出的拖拽对象的层级(默认1001) css:"top:30px;bottom:50px;", self:true,//设置为true表示拖拽自身以滑动 targetElement:['form','div']//若是设置self为true,这个字段表示触发拖拽时候的元素 }); parentID咱们被拖拽对象的父容器的ID,默认是body,这里咱们为何要放开能够让你指定父容器呢,由于有的时候的场景并非说整个界面都须要拖拽,可能只是界面中某一小部分能够拖拽,注意一下:对应parentID的元素的定位须要是absulute或者relative scrollID:表示被拖拽对象的ID self:取值为true或者false,若是是true,这个时候咱们拖拽的其实是scrollID指定的元素,若是是false,咱们实际上会额外添加一个div覆盖在scrollID上面,这样拖拽的时候就不会影响到scrollID上面的元素,这样作是有道理的,且下面看 targetElement:上面咱们说了self的做用,若是self设置为true的话 实际上拖拽scrollID对应的元素就能够实现拖拽了,可是若是scrollID上面有其余控件,这就会和拖拽事件冲突,因此咱们能够在这里设置元素,表示能够接受拖拽响应事件的元素类型 z-index:上面说到若是self设置为false的话,咱们会额外添加一个div覆盖在scrollID元素上面,这个是设置额外添加那个div的层级的 css:用来设置咱们的self为false的时候添加的那个div的css