私は、ページの特定の領域内のリスト内のdivが、移行ポイントを越えてちらつくことなく大きくなるようにしようとしています(Chromeの目立つ問題、おそらく他のブラウザかもしれません)。スクロール時の状態間のちらつきを起こさずにCSSスケールをトランジションすることはできますか?
Here's a jsfiddle of my current situation.
私はかなり、私は必要なものStackOverflowの上ここに偉大なjsfiddle貢献に感謝を達成しました - しかし、私は私自身のスケールの効果を追加するときは、トランジションの境界線の上にあまりにも遅いスクロールする場合、それは一種の点滅。これは明らかに、スケール遷移(または通常の高さ/幅の変更)は、境界線が既に遷移点を通過した後で縮小を引き起こし、逆も同様です。
この方法をCSSメソッドで作成する方法はありますか、またはスクリプトを変更する必要がありますか?その場合(私はこの種類の数式に慣れていないので)
$(document).ready(function() {
$(window).on('scroll', function() {
var windowHeight = $(window).height(),
gridTop = windowHeight * .3,
gridBottom = windowHeight * .6;
$('ul li').each(function() {
var thisTop = $(this).offset().top - $(window).scrollTop();
if (thisTop > gridTop && (thisTop + $(this).height()) < gridBottom) {
// $(this).css('background', 'red');
$(this).addClass('in_zone');
} else {
//$(this).css('background', 'silver');
$(this).removeClass('in_zone');
}
});
});
$(window).trigger('scroll');
});
ああ、もちろん!まさに私が探していたものです。箱の外で思うのを助けてくれてありがとう。 – Lenny