我正在尝试在此页面http://www.uclock.it/CreateClock/上实现一个粘性框
如果您添加更多行并滚动小时钟预览应始终在屏幕上以及第一行和最后一行之间保持可见。
问题是,它以某种方式在 FF、IE(某种)中工作,并且绝对不能在 Chrome 中工作。
我无法弄清楚问题是什么。
我有模拟问题的小提琴:http: //jsfiddle.net/rRh8F/3/
CSS是:
.smallClockPreview
{
display: inline-block;
float: right;
height: 237px;
margin-right: -50px;
margin-top: -74px;
width: 237px;
position:relative;
}
.smallClockPreviewFixed
{
display: inline-block;
float: right;
height: 237px;
margin-right: -50px;
margin-top: -217px;
width: 237px;
position:fixed;
}
并且 js 是(对不起,变量是捷克语):
jQuery(document).ready(function($) {
if ($('#smallClockPreview').length) {
var maleHodinyTop = $('#smallClockPreview').offset().top;
var maleHodinyVyska = $('#smallClockPreview').height();
$(window).scroll(function (evt) {
var zarazka = $('.clearHelp').offset().top;
var zarazkaMinusVyska = zarazka - $('#smallClockPreview').outerHeight();
var topOknaOdZacatku = $(this).scrollTop();
if (topOknaOdZacatku > maleHodinyTop) {
if (topOknaOdZacatku < zarazkaMinusVyska) {
$('#smallClockPreview').removeAttr('style'); $('#smallClockPreview').addClass('smallClockPreviewFixed').removeAttr('style');
} else {
if (topOknaOdZacatku > zarazka) {
}
else {
if ((zarazka - maleHodinyVyska) > maleHodinyVyska) {
$('#smallClockPreview').css({ "position": "relative", "top": (zarazka - maleHodinyVyska) });
}
}
}
} else {
$('#smallClockPreview').removeAttr('style');
$('#smallClockPreview').removeClass('smallClockPreviewFixed');
}
});
}
});
非常感谢您的帮助
问候彼得