純粋な CSS3 で水平無限スクロールを実装するためのサンプル コード

純粋な CSS3 で水平無限スクロールを実装するためのサンプル コード

この記事の例はすべて小さなプログラムで書かれていますが、実装される機能には影響しません。

wxml

ループ画像の最初と最後がつながるように、画像を含むボックスのコピーをもう1つ作成します。

<view class="scrollbox dis-flex">
    <view class="imgItem dis-flex" style="animation: {{computedAni}};">
      <image src="../img/{{index + 1}}.jpg" wx:for="{{images}}" mode="aspectFill" wx:key="index"></image>
    </ビュー>
    <view class="imgItem dis-flex" style="animation: {{computedAni}};">
      <image src="../img/{{index + 1}}.jpg" wx:for="{{images}}" mode="aspectFill" wx:key="index"></image>
    </ビュー>
</ビュー>

wxss

.dis-flex {
  ディスプレイ: フレックス;
  ディスプレイ: -webkit-flex;
}
.スクロールボックス{
  マージン: 30px;
  テキスト配置: 中央;
  境界線: 1px 青
  高さ: 220rpx;
  アイテムの位置を中央揃えにします。
  オーバーフロー: 非表示;
}
.imgアイテム{
  アニメーション: 24 秒の rowup 線形無限通常;
}
.imgItem 画像 {
  幅: 200rpx;
  高さ: 200rpx;
  マージン: 0 20rpx;
}
@keyframes 行アップ {
  0% {
      -webkit-transform: translate3d(0, 0, 0);
      変換: translate3d(0, 0, 0);
  }
  100% {
      -webkit-transform: translate3d(-100%, 0, 0);
      変換: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes rowup {
  0% {
      -webkit-transform: translate3d(0, 0, 0);
      変換: translate3d(0, 0, 0);
  }
  100% {
    変換: translate3d(-1000px, 0, 0);
    変換: translate3d(-1000px, 0, 0);
  }
}

js

速度を調整する鍵は、ループされるアイテムの数によってアニメーション時間が動的に制御されることです。

ページ({
  データ: {
    画像: 新しい配列(4)、
    計算されたアニ: ''
  },
  onLoad: 関数 () {
    this.setAniSpeed(this.data.images.length)
  },
  setAniSpeed(数値) {
    let time = Math.ceil(num / 5 * 15) // ここでは、画像が 5 枚ある場合のアニメーション時間は 15 秒です。自分で調整できます this.setData({
      computedAni: `${time}s rowup 線形無限通常`
    })
  }
})

コードスニペットを表示するにはここをクリックしてください

https://developers.weixin.qq.com/s/4gGngEm67Zlh

純粋な CSS3 で水平無限スクロールを実装するサンプルコードに関するこの記事はこれで終わりです。CSS3 水平無限スクロールに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Docker を使用して開発環境を構築する方法 (Windows および Mac)

>>:  HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

推薦する

Linuxカーネルをコンパイルする方法

1. 必要なカーネルバージョンをダウンロードする2. オペレーティングシステムにアップロードする3....

VMware 仮想マシンのインストール win7 オペレーティング システム チュートリアル ダイアグラム

VMwareaのインストールプロセスは説明しませんが、主にwin7イメージをロードする方法を説明しま...

進捗バーのネイティブ JavaScript 実装

進捗バーを実装するためのJavaScriptの具体的なコードは参考までに。具体的な内容は次のとおりで...

Linux で ffmpeg をインストールするための詳細なチュートリアル

1. CentOS Linuxにffmpegをインストールする1.ダウンロードして解凍する http...

MySQLクエリ最適化分析チュートリアルをステップバイステップで教えます

序文MySQL は、強力なクエリ機能、高いデータ一貫性、高いデータ セキュリティ、およびセカンダリ ...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別...

Vue3 の父子値転送に関する簡単な説明

目次父から息子へ: 1. 親コンポーネントのサブコンポーネントタグに、サブコンポーネントに渡されるデ...

シンプルな HTML ビデオ プレーヤーを実装する方法

この記事では、シンプルな HTML ビデオ プレーヤーを実装する方法を紹介し、皆さんと共有します。詳...

ページ要素の絶対位置と相対位置に関するある程度の理解

今日から、定期的にちょっとした豆知識を整理していきます。簡単なものもあるかもしれませんが、どれも役に...

MySQLの浅いエントリと深いエグジットの原則についての簡単な説明

目次1. ページの概要2. 下限と上限3. ページディレクトリを使用する4. ページの実際の外観4....

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

Reactの状態の理解についての簡単な分析

複雑なコンポーネント (クラス コンポーネント) と単純なコンポーネント (関数コンポーネント) を...

MySQLのページング制限のパフォーマンス問題についての簡単な説明

MySQL ページング クエリは通常、制限を通じて実装されます。 limit は 1 つまたは 2 ...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...