2016-08-02 22 views
2

はここに私のJSコードです:私はそれをしたいが、ウェイポイントが全くないようjqueryのウェイポイントと.scroll()競合

$(window).scroll(function (event) { 
    var scrollTop = $(window).scrollTop(); 
    var height = $(window).height(); 
    var opacity = ((height - scrollTop)/height); 
    var scale = ((height - (scrollTop/10))/height); 
    console.log(opacity); 
    if(opacity>=0.05){ 
     $.each(links, function(i, link) { 
      $(link).css({ 
       'opacity': opacity, 
      }); 
     })} else { 
      $(link).css({ 
       'opacity': 0.05 
      }); 
     } 
    if(scale>=0.9){ 
     $('#index').css({ 
      'transform': 'scale('+scale+')' 
     }); 
    } else { 
     $('#index').css({ 
      'transform': 'scale(0.9)' 
     }); 
    } 
}); 
$(document).ready(function() { 
    $('#aboutContent').waypoint(function(direction) { 
     alert('hit!'); 
    }); 
}); 

.scroll()関数が正確に動作します。ただし、.scroll()関数を削除した場合、ウェイポイントは正常に機能します。問題を引き起こしている可能性のあるものは誰にも見えますか?私は.scroll()とウェイポイントの間に何らかの既知の矛盾が見つかりません。ここにJSFiddleがあります:https://jsfiddle.net/zocdvefx/ .scroll()関数を削除すると、ウェイポイントが機能するはずです。

ありがとうございます! ジェイミー

+0

コードを調べるだけで、この種の問題のトラブルシューティングを行うのは難しいです。関連するコードをjsfiddleや他の環境に移動して問題を再現/表示してください。 – bwegs

+0

そうかもしれない考え。 https://jsfiddle.net/zocdvefx/ $(window).scroll()関数を削除すると、ウェイポイントが機能します。 –

答えて

0

あなたのフィドルでは問題はこのif-elseブロックである:私は上記の強調表示された行にlinkslinkを変更

if (opacity >= 0.05) { 
    $.each(links, function(i, link) { 
    $(link).css({ 
     'opacity': opacity, 
    });  
    }) 
} else { 
    $(link).css({ // <-- link is no longer in scope and is undefined 
    'opacity': 0.05 
    }); 
} 

はあなたの問題を解決します。

問題が発生したときは、後でいつもブラウザのデベロッパーコンソール(通常はF12)を確認してください。私はあなたのjsfiddleでそれを開けば直ちに、問題がどんなものだったかを教え始めました:ReferenceError: link is not defined

+1

ありがとうございました!レッスンで学んだこと(デザイナーがここで開発しようとしています!) –

関連する問題