1

sammyJS ルートが初めて実行されているか (ブラウザの更新など)、またはページの初期ロード後にルートがアクセスされているかどうかを判断したいと思います。

私のユースケースは、ルートが実行される特定のケースで、ユーザーがページを下にスクロールしたために新しいコンテンツが表示されないことです。ユーザーが既にページを読み込んでいて、ルートをトリガーするリンクをクリックしたときに $.scrollTo を実行したいのですが、ユーザーがアドレスバーでルートに直接アクセスすると、scrollTo は実行されません。

4

1 に答える 1

0

私があなたの考えを理解した場合、最初にfalseに設定され、次にルートコールバックでtrueに切り替えられるフラグが必要です。次に、フラグがfalseの場合は、スクロールメソッドを呼び出します。フラグスコープは、Sammyアプリオブジェクトスコープよりも大きくする必要があります。つまり、Sammy初期化関数を呼び出す前にフラグを定義する必要があります。ブラウザによってページがリロードされるたびに、フラグは再びfalseになります(JavaScriptエンジンは、HTMLページの更新/リロードのたびに再起動されることに注意してください)。

このロジックを任意のルートに適用する必要がある場合は、、およびイベントのいずれかを使用beforeできafterますaround詳細については、SammyAPIのドキュメントを確認してください。

于 2013-01-10T14:43:59.993 に答える