質問: $('.event-area').offset().top + $('.event-area').innerHeight(); $(window).on({ 'scroll': function(){ if ($(this).scrollTop() > 100) { box.fadeIn(); } else { box.fadeOut(); } }, 'scroll': function(){ if ($(window).scrollTop() + $(window).height() > thisOffset) { box.fadeOut(); } else { box .fadeIn(); } } }); }); elseが二回入っているせいでおかしくなっているのではないかと思うのですが、これ以外の書き方が膨らませず。。 よろしくお願いします。
回答: 解決例 > > 以下2つの条件を組み合わせたjqueryを記述したいのですが > > > 二つの条件を組み合わせるというのを「両方の条件を満たしたときにfadeInしたい」 という風に解釈していいのなら以下のようになるかと思います。 ``` $(function () { var box = $('.box'); box.hide(); var thisOffset = $('.event-area').offset().top + $('.event-area').innerHeight(); $(window).on( 'scroll', function () { // 100pxスクロールもしくは特定の要素に到達したならfadeIn if ($(this).scrollTop() > 100 || $(window).scrollTop() > thisOffset) { console.log($(this).scrollTop()); box.fadeIn(); } else { console.log('fede out1'); box.fadeOut(); } }); }); ```