:すべてのヘルプは、これまで
$(document).ready(function() {
var $window = $(window);
var tabwrap = $('.tab-wrap');
var prefooter = $('#pre-footer');
$window.on('scroll', function() {
var scrollTop = $window.scrollTop();
tabwrap.toggleClass('hidden', scrollTop > 300); /* Help! */
/* .tabwrap should toggle class .hidden when #pre-footer and or #footer is visible in window */
});
});
フィドルをいただければ幸いです。だから、ときscrollTop
値+ビューポートの高さが#pre-footer
$(document).ready(function() {
var $window = $(window);
var tabwrap = $('.tab-wrap');
var prefooter = $('#pre-footer');
var prefooter_top = prefooter.offset().top;
var prefooter_height = prefooter.height();
var prefooter_bottom = prefooter_top + prefooter_height;
console.log(prefooter_bottom);
$window.on('scroll', function() {
var scrollTop = $window.scrollTop();
var viewport_height = $(window).height();
var scrollTop_bottom = scrollTop + viewport_height;
tabwrap.toggleClass('hidden', scrollTop_bottom > prefooter_bottom);
});
});
の
pre-footer
+高さの最上部の位置よりも大きく、そして、あなたはほとんどあります。 if文でaddClass()を使用し、else文でremoveClass()を使用する必要があります。 – mdurchholz@mdurchholz私はもう一度チェックした...私は離れていると思う!このコードは、インジェティアルコードとまったく同じです。 –
乾杯!しかし、 '#pre-footer'や'#footer'がビューポートに表示されているかどうかを問い合わせる方法はありますか?上から300pxと言っているのとは対照的に? –