我的可拖动 div 容器有一个奇怪的问题。
我尝试制作一个可拖动文本的 div,并希望每个 div 的标题都具有粘性。在 Firefox 中一切正常,但在 Chrome(webkit..) 中却没有:(
我的可拖动功能代码是
$content.children().draggable({
axis: "y",
snap: true,
distance: 20,
start: function(e,ui){
//...
},
drag: function(e) {
$('.sc_conSticky').each(function(index) {
var $this = $(this), // h1.headerSticky
$wrap = $this.parent(), // .textwrapper
$win = $(window); //window
var wrapPos = $wrap.offset().top,
elemSize = $this.outerHeight(),
wrapSize = $wrap.outerHeight(),
scrollPos = 0; //$win.scrollTop(); always 0 o.O
if ( scrollPos >= wrapPos &&
(wrapSize + wrapPos) >= (scrollPos + elemSize)) {
$this.css({
position: 'fixed',
top: 0
});
} else if (scrollPos < wrapPos) {
$this.css({
position: 'absolute',
top: 0
});
} else {
$this.css({
position: 'absolute',
top: wrapSize - elemSize
});
}
});
},
stop: function(e,ui) {
//...
});
我的 HTML 结构看起来像这样
<div class="textwrapper">
<h1 class="sc_conSticky"> </h1>
text text text ....
</div>
<div class="textwrapper">
<h1 class="sc_conSticky"> </h1>
text text text ....
</div>
在图片中,您可以显示问题。第一个浏览器是chrome,第二个是firefox。
有人知道问题出在哪里吗?
提前致谢!
汉辛格