1

スムーズなスクロールのためのjQueryプラグインの次のバージョン( Smooth Div Scroll )に取り組んでいます。これはjQueryウィジェットファクトリに基づくステートフルプラグインであるため、プラグインの初期化後にプラグインの状態を変更できます。ユーザーはプラグインの構成オプションを変更するか、私が提供するパブリックメソッドの1つを使用できます。

このプラグインには、ブール値であるオプションがあります:hotSpotScrolling(true / false)。プラグインの初期化時に提供されるオプションの一部としてユーザーがこのオプションをtrueに設定すると、スクロールのホットスポットがアクティブになります。逆もまた同様です。falseに設定されている場合は非アクティブ化されます。

プラグインが初期化された後にユーザーがこのオプションを変更した場合、この変更に応答するためにプラグインが必要です。したがって、ユーザーがhotSpotScrollingをfalseに設定した場合、ホットスポットを非表示にし、ホットスポットのスクロールに関連する他の機能を非アクティブ化する必要があります。逆に、ユーザーがhotSpotScrollingをtrueに設定した場合、ホットスポットを表示し、他のものをアクティブにする必要があります。

しかし、私が知る限り、jQueryプラグインに、今説明したシナリオに沿ったオプションの変更に応答させる方法はなく、それが望ましいかどうかさえわかりません。私には、パブリックメソッドのタスクのように聞こえますか?したがって、オプションを変更する代わりに、ユーザーはパブリックメソッドを呼び出し、このメソッド内でプラグインの状態を変更するコードを記述します。

jQueryプラグインでオプションを変更するかパブリックメソッドを呼び出すかを選択する際のベストプラクティスに興味があります。できれば、このジレンマに光を当てるコードを使用したいくつかの優れた例に興味があります。

前もって感謝します!/トーマス

4

1 に答える 1

1

更新されたタブウィジェットが、初期化後に変更されたオプションをどのように処理するかを確認してください。

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.tabs.js#L113-140

更新されたアコーディオンは同じことをします:

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.accordion.js#L157-191

それがあなたがやりたいことです。

于 2011-08-04T12:51:19.547 に答える