调整窗口大小时,可拖动的对象会出现在容器外部
Draggable object goes outside the container when the window is resized
我尝试使用drag&JQueryUI 中的拖放功能
我做了这个JSFiddle:
http://jsfiddle.net/96k2ysbf/1/
HTML
<div id="scrollbar-zone" class="w85pc">
<div id="scrollbar" style=""></div>
</div>
CSS
.w85pc{
width: 80%;
margin: 0 auto;
}
#scrollbar-zone{
border: 1px solid black;
height: 30px;
}
#scrollbar{
border: 1px solid red;
height: 100%;
width: 10px;
}
Javascript
$("#scrollbar").draggable({
axis: "x",
containment: 'parent'
});
它工作得很好,但有时当我调整窗口大小时,可拖动的对象会超出父元素,我想避免这种情况。
解决这个问题最简单的方法是什么?我可以使用resize()
事件,但可能有更好的解决方案。
您可以在stop事件中将位置转换为百分比,因此调整滚动条大小时将保持其比例位置。像这样:
$("#scrollbar").draggable({
axis: "x",
containment: 'parent',
stop: function(e, ui) {
var perc = ui.position.left / ui.helper.parent().width() * 100;
ui.helper.css('left', perc + '%');
}
});
http://jsfiddle.net/axmgm2j2/
相关文章:
- Javascript从匿名函数访问外部对象属性
- 在内部JavaScript函数中包含外部对象
- 覆盖外部对象's函数在Internet Explorer中使用JavaScript
- 如何使用javascript(和AJAX?)调用外部对象
- 如何将嵌套对象移动到外部对象
- 如何在我的Chrome扩展中包含外部对象
- Javascript外部对象全局
- 访问JS中的外部对象
- scroll在chrome中的svg外部对象内不起作用
- 从$.getJSON调用外部对象
- 将JSONP回调的结果保存到外部对象
- 无法从函数作用域向外部对象添加属性
- 如何在Javascript中访问外部对象上的函数
- 如何在javascript对象中访问外部对象
- 使用dojo.在对象、外部对象的方法中挂起和闭包
- Javascript:内部数组不会重置为外部对象
- 在JavaScript中,如何得到'this'外部对象的对象的方法,该对象是外部对象中数组的元素
- 使用javascript在svg中动态添加外部对象
- Dom外部对象的样式
- 从嵌套函数访问外部对象(使用主干.js