一般的なカルーセルは、畫像の親コンテナの左側(cè)を変更することで実裝されることが知られていますが、エンドツーエンドで接続されるカルーセルの原理はどうなるのでしょうか?
JS を制御するにはどうすればよいですか?
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
私の考えをお話しますので、お役に立てれば幸いです。私はJQueryを使っています。
エンドツーエンドで接続しますよね? 以前にいくつかの関連するカルーセルの原則を見てきましたが、一般的に、最初のカルーセルは、js を少し移動(dòng)することで 2 番目のカルーセルに切り替わり、最後のカルーセルのコピーの後に別のカルーセルを追加できます。最後の畫像から最初の畫像のクローンへの切り替えも少し動(dòng)きますが、切り替えが完了するとすぐに本物の最初の畫像の位置に変更されます。 left: 0. この時(shí)點(diǎn)で、次のステップは 1 番目の寫真から 2 番目の寫真にめでたく切り替えることです。 - - これが質(zhì)問者さんの質(zhì)問なのでしょうか?
アイデアをください
カルーセル コンポーネント內(nèi)の各畫像は、全體として連続する他の畫像と接続されているのではなく、獨(dú)立した個(gè)別のものとして想像できます
畫像が切り替わるたびに、ユーザーは実際の位置に関係なく、現(xiàn)在の畫像と次の畫像の 2 つの畫像しか見ることができません。
そのため、切り替える必要があるときはいつでも使用できます。 、これら 2 つの畫像を準(zhǔn)備し、それらに対応するディスプレイスメント アニメーションを設(shè)定するだけです。いわゆるエンドツーエンドの接続で、「頭」を「尾」の後ろに配置してアニメーション化するだけです
前の畫像に切り替えたい場(chǎng)合も同様で、現(xiàn)在の畫像と前の畫像を用意して、それらの変位アニメーションを設(shè)定するだけです
また、モバイルでは、ディスプレイスメントに transform: translate3d(x, 0, 0)
を使用するのが最善です。これにより、GPU アクセラレーションが有効になります。そうしないと、アニメーションがフリーズします
実際には非常に単純ですが、元の畫像が 5 枚あり、その構(gòu)造は次のとおりだとします。 リーリー
それを次のように変換します:リーリー
最初の寫真が左にスライドしたら、アニメーションが終了した後に左から5番目の寫真にリセットし、その逆も同様です!質(zhì)問者はキューとスタックについて知っていますか? もし知っているなら、カルーセル チャートはキューであり、デキューされた要素はキューに再入力されます。
同じ寫真を 2 セット使用し、トランジションを介して移動(dòng)し、左に変更します。
2番目のグループの最初の寫真まで左にした場(chǎng)合は、トランジションを直接オフにし、最初のグループの最初の寫真まで左にした場(chǎng)合は、トランジションをオンにします
原理は次のとおりです。左に移動(dòng)すると仮定し、移動(dòng)するたびに、一番左のピクチャの p を右に移動(dòng)します。つまり、最初の p を最後の p に移動(dòng)し、同時(shí)に左のピクチャの値を変更します。大きなコンテナに畫像の幅を追加します。