Я написал некоторый код jQuery для отображения окна с данными в углу веб-браузера пользователя.Я использую событие .scroll
, чтобы окно оставалось в углу, когда пользователь прокручивает страницу вверх и вниз.Позвольте мне подчеркнуть, что Я не использую диалоговое окно jquery-ui .
Единственная проблема заключается в том, что окно мигает при прокрутке страницы.Боюсь, что кросс-браузерного решения этой проблемы не будет, так как разные браузеры ведут себя по-разному при прокрутке.Если бы не кросс-браузерное решение, было бы неплохо решение IE (мое веб-приложение предназначено для использования определенной группой из примерно 100 пользователей в моей организации.)
Вот фрагменты относительного кода:
ExternalScroll: function () {
LittleBlackBook.setPosition();
}
setPosition: function () {
var scrollPosition = $(self).scrollTop();
var cssTop = LittleBlackBookStatic.determineCssTop(this.height, this.isTop, this.vOffset, scrollPosition);
var cssHeight = LittleBlackBookStatic.determineCssHeight(this.height);
var cssLeft = LittleBlackBookStatic.determineCssLeft(this.width, this.isLeft, this.hOffset);
var cssWidth = LittleBlackBookStatic.determineCssWidth(this.width);
this.jQueryObj.css('top', cssTop);
this.jQueryObj.css('height', cssHeight);
this.jQueryObj.css('left', cssLeft);
this.jQueryObj.css('width', cssWidth);
}
var LittleBlackBookStatic = {
determineCssTop: function (height, isTop, vOffset, vScroll) {
var windowHeight = $(self).height();
var scrollPosition = $(self).scrollTop();
var newModalTop = isTop ? vOffset + vScroll : windowHeight - height + vScroll - vOffset;
return newModalTop + 'px';
},
determineCssHeight: function (height) {
return height + 'px';
},
determineCssLeft: function (width, isLeft, hOffset) {
var windowWidth = $(self).width();
var newModalLeft = isLeft ? hOffset : windowWidth - width - hOffset;
return newModalLeft + 'px';
},
determineCssWidth: function (width) {
return width + 'px';
}
} // end LittleBlackBookStatic
Я использую jQuery для поиска позиции прокрутки при прокрутке страницы и изменения CSS.
Есть ли лучший способ;способ сделать это прокручивать без мерцания?Если нет, то почему бы и нет?