私は、オプションのエフェクトコールバック関数をとることができる小さなスクロールメソッドを作成するさまざまな方法を試みています。私がscrollToEl(el、flash)を実行すると、最初に要素までスクロールしてフラッシュするとします。どのように私は通常これについて行くだろうか?パラメータ付きのオプションのコールバック関数の受け渡し
これは私がやったことですが、実際には機能しません。
私はこのようにそれを使用したいscrollToEl : function(el, callback) {
// flash the selected product
var self = this;
$('html, body').animate({
scrollTop: el.offset().top - 50
}, 1000, 'swing', callback); // how to pass el here as well paired with callback?
}
flash : function(el) {
// flash the selected product
el.animate({
opacity : 0.4
}, 100, 'swing', function() {
el.animate({
opacity : 1
}, 1000, 'swing');
});
},
:
var el = $('#element');
scrollToEl(el, flash); // how to pass in to the callback function flash?
ええ、それは私が考慮した良い解決策です。しかし、2つのこと: 1.私はコールバックをオプションにしたいと思います。私がそれを渡さないと、私はそれも呼び出されたくありません。 2.私は関数を渡す方法を見たいと思っています。おそらくコールを使うか、適用しますか?私は言語の機能面にそれほど慣れていません – Yonder
@Yonder:1.その場合は、オプションにするだけです。 2.好きなときに 'call'を使うことはできますが、まだ関数を呼び出す必要があります。あなたはそれを自分で行うこともできますし、 'jQuery.proxy'を使ってそれを行うこともできます。私は答えを更新しました。 –
ニート!私はあなたがそのようなプロキシを使うことができるのか分からなかった。 $ .noopはfunction(){}の素早い短縮形です。ありがとう! – Yonder