问题描述
|
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();
},