【JavaScript】スクロールして各要素が現れたりした時に何らかの処理をするスクリプトを良い感じに書きたい。

画面をスクロールした時に、下から要素が現れたり、 その要素が画面の上部にたどり着いた時に何らかの処理をする、 という事をする時がたまにあります。 この処理をカッコ良く書くにはどのように書けばいいだろうかと思い、 色々と試してみました。 もっと正解はあるかとは思いますが、 僕のレベルとしては割りとシュッとしたコードが書けたんじゃないかなと思っています。 目標としては、
  • 汎用性のあるコード
  • 管理しやすいコード
  • グローバル変数をできるだけ少なく
  • メモリ消費を少なく、処理をできるだけ軽く
こんな感じの目標を立てて考えてみました。

Fatal error: Uncaught Error: Call to a member function id() on array in /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php:36 Stack trace: #0 /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(538): CrayonFormatter::format_code('', Array, Object(CrayonHighlighter)) #1 [internal function]: CrayonFormatter::delim_to_internal(Array) #2 /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(516): preg_replace_callback('#()#msi', 'CrayonFormatter...', '<body>\r\n <ul>\r...') #3 /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(166): CrayonFormatter::format_mixed_code('<body>\r\n <ul>\r...', Object(CrayonLang), Object(CrayonHighlighter)) #4 /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(186): CrayonHighlighter->process() #5 /home/web-rice/www/noze.space/wp in /home/web-rice/www/noze.space/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 36