如何解决jQuery UI的可拖动位置受scrollTop影响吗? 包括JSFiddle
| http://jsfiddle.net/mgJf2/2/ 包含jQueryUI之后,唯一的javascript是:$(\"#scrollbox\").draggable({
axis: \'y\',drag: function(event,ui) {
$(document).scrollTop(ui.position.top);
},});
文档滚动对可拖动div(我认为它具有固定位置)具有复合作用。这会导致滚动消失。取出文档滚动条,可以正常工作,而无需我想要的该页面滚动条。
有任何想法吗?
谢谢!
解决方法
这是错误报告,尚无修复:http://bugs.jqueryui.com/ticket/5009
到目前为止,jQuery UI中还有一个已知的错误,但没有官方修复,修复计划在1.9版中进行。有几种解决方法,从简单到丑陋,请查看我的回答:jQuery Draggable在页面滚动后将助手显示在错误的位置
,我发现使用拖动功能(触发
onmousemove
)可以抵消帮助程序的位置。您必须在发布的示例中定位帮助程序-我想您会用just2ѭ代替ui.helper
。
drag: function(event,ui) {
var offset = $(this).offset();
var yPos = offset.top;
ui.helper.css(\'margin-top\',$(window).scrollTop() + \'px\');
}
当文档在Chrome和Safari中滚动时,这应该可以固定位置。没有此修复程序,Mozilla是唯一可以正常运行的浏览器。尚未在IE上测试。
干杯
,把事情简单化。这是我的解决方案,它工作正常。
drag: function(event,ui) {
ui.helper.css(\'margin-top\',-(t-c.scrollTop()));
},start: function( event,ui ) {
t = c.scrollTop();
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。