Jquery ui draggable在chrome和ie7下的bug

当页面足够长,向下滚动一些之后,

在拖动时,被拖动的div会向下产生滚动距离那么高(scrolltop)的差距

image

image

鼠标位置距div顶部差距了正好页面scroll的距离,页面scoll越多差的越多。

解决方法参考:http://stackoverflow.com/questions/5791886/jquery-draggable-shows-helper-in-wrong-place-when-scrolled-down-page

 

$("#abc").draggable({

    drag: function (event, ui) {

        if ($.browser.chrome || ($.browser.msie && $.browser.version == 7)) {

            ui.position.top -= $(window).scrollTop();

        }

    }

});

加上drag事件回调,判断浏览器,减去响应的高度即可

你可能感兴趣的:(jQuery UI)