残念ながら、コールバックを変数にアタッチすることはできません。コールバックは、予測不可能な方法で発生する何か (一般的にはユーザー入力) に対してのみ使用されます。変数を使用すると、コードが変数を使用している場所をいつでも追跡できます。
本当に探しているのは、これらの変数が変更される一般的な場所です。つまり、メニュー項目がアニメーション化される場所です。click
イベントの各コールバックを見ると、それぞれがmenu_animateClick();
最後に呼び出されていることがわかります。おそらく、ここで変更を加える必要があります。
最初の行は、すべてのメニュー項目を元のサイズにリセットします。
contents.animate({margin: 20, height: '64%', lineHeight: '63px'}, 300);
2 行目は、選択したメニュー項目を拡大します。
$(contents.get(menuItem_place)).stop().animate({margin: 0, height: '100%', lineHeight: '99px'}, 100);
3 行目は、メニューを移動する必要があるピクセル数を計算します。
menuItem_position = 0 - (menuItem_place * 200);
そして最後の行は、実際にメニューを選択されたメニュー項目に移動します:
$('#menuContainer').stop().animate({left: menuItem_position + 'px'}, 300);
その関数では、スニペット$(contents.get(menuItem_place))
を使用して現在のメニュー項目のコンテンツを取得し、単にすべてのcontents
メニュー項目のコンテンツを取得します。選択したメニュー項目を黒に設定するには、次のようにします。
$(contents.get(menuItem_place)).stop().css('background-color', 'black').show(100);
元の色に戻すにはまだ工夫が必要ですが!