divの位置がウィンドウビューからスクロールされたら、ウィンドウの一番下にdivを固定します。私は、それが姿勢がスクロールバックされているときにそれを固定します。スクロールがゆっくりと行われると、恐ろしい揺れがあります。これに対抗する方法はありますか?divを動的に修正するときに点滅が止まらない
DEMO https://jsfiddle.net/3146nxLx/
var initSet = false;
$(window).scroll(function() {
if (isScrolledIntoView($('#myDivTrigger'))) {
if (!initSet) {
initSet = true;
}
$("#myDiv").removeClass('fixed');
} else if (initSet) {
$("#myDiv").addClass('fixed');
}
});
function isScrolledIntoView(elem) {
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
でクローニングせずに別の可能な解決策があるか、余分なブロックを使用becau DOMフロー内の1つの要素を「削除」しています(一時的に)。 –
安全なマージンを使用してください。 –
固定されたものの重複した要素を作成したり削除したりすることができます(js経由)。 –