javascriptの記述方法おしえてください。
以前こちらで質問し自己解決に至ったのですが、
もっと簡単スマートにスクリプトを記述したいのですが、
どのような記述をすれば良いかご教授ください。
//ここから
var flg1=1,flg2=0,flg3=0,flg4=0
$(window).on('scroll', function() {
if($('#contents01').offset().top <= $(window).scrollTop() && $('#contents02').offset().top-1 >= $(window).scrollTop()) {
if(flg1==0){
$('.nav1').stop(true,true).fadeTo(100,0.3).stop(true,true).fadeTo(500,1);
flg1=1,flg2=0,flg3=0,flg4=0
}
}
if($('#contents02').offset().top <= $(window).scrollTop() && $('#contents03').offset().top-1 >= $(window).scrollTop()) {
if(flg2==0){
$('.nav2').stop(true,true).fadeTo(100,0.3).stop(true,true).fadeTo(500,1);
flg1=0,flg2=1,flg3=0,flg4=0
}
}
if($('#contents03').offset().top <= $(window).scrollTop() && $('#contents04').offset().top-1 >= $(window).scrollTop()) {
if(flg3==0){
$('.nav3').stop(true,true).fadeTo(100,0.3).stop(true,true).fadeTo(500,1);
flg1=0,flg2=0,flg3=1,flg4=0
}
}
if($('#contents04').offset().top <= $(window).scrollTop() && $('#contents04').offset().top-1+$('#contents04').height() >= $(window).scrollTop()) {
if(flg4==0){
$('.nav4').stop(true,true).fadeTo(100,0.3).stop(true,true).fadeTo(500,1);
flg1=0,flg2=0,flg3=0,flg4=1
}
}
});
//ここまで
上記スクリプトは1部ですが、
このスクリプト部分で、
フラグを立てイベントを実行する、
しないの判別をさせています。
参考までに
http://www11.ocn.ne.jp/~website/sample2/index.htm
お礼
2度もご回答ありがとうございます。 今回ご提示下さったコードで正常に動作させる事が出来ました。 配布されているjQueryをそのまま使っているような人間ですので 数行の簡単なコードでも//補足コメントはありがたいです。 ネットで探し回ったコードよりもシンプルな記述ですし、 希望していた動作通りに機能するので非常に感謝しております。 ご親切にありがとうございました。