この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 必要:Vueプロジェクトの先頭で、テキストを左右にスクロールさせる ステップ: 1. コンポーネントを自分でカプセル化したり、自分で書いたり、次のコードをコピーしたりすることができます。 コード:マーキー効果を実現するために特別に使用されるマーキーコンポーネントをカプセル化する <テンプレート> <!-- マーキー コンポーネント --> <div class="marquee-wrap" ref="marquee-wrap"> <div class="scroll" ref="scroll"> <p class="marquee">{{text}}</p> <p class="コピー" ref="コピー"></p> </div> <p class="getWidth" ref="getWidth">{{text}}</p> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'マーキー'、 プロパティ: ['val'], データ () { 戻る { タイマー: null、 文章: '' } }, 作成された(){ タイマーをsetTimeout(() => { this.move() タイムアウトをクリア(タイマー) }, 1000) }, マウントされた(){ for (let 項目の this.val) { this.text += アイテム } }, メソッド: { 動く () { maxWidth = this.$refs['marquee-wrap'].clientWidth とします。 width = this.$refs['getWidth'].scrollWidthとします。 if (幅 <= 最大幅) 戻り値 scroll = this.$refs['scroll']とします。 copy = this.$refs['copy'] とします。 copy.innerText = this.text 距離を0とする this.timer = setInterval(() => { 距離 -= 1 if (-距離 >= 幅) { 距離 = 16 } scroll.style.transform = 'translateX(' + distance + 'px)' }, 20) } }, 破棄前() { クリア間隔(this.timer) } } </スクリプト> <スタイルスコープ> .marquee-wrap { 幅: 100%; オーバーフロー: 非表示; 位置: 相対的; } .マーキー{ 右マージン: 0.16rem; } p { 単語区切り:すべて保持; 空白: ラップなし; フォントサイズ: 0.28rem; } .スクロール{ ディスプレイ: フレックス; } .getWidth{ 単語区切り:すべて保持; 空白:折り返しなし; 位置: 絶対; 不透明度: 0; 上: 0; } </スタイル> どのコンポーネントが使用されているか、インポート // マーキー コンポーネントをインポートします。import marquee from "@/components/marquee/marquee.vue"; 引用と登録 エクスポートデフォルト{ コンポーネント: // マーキーコンポーネントを登録します。 }, } 登録が完了したら、次のステップはHTMLスタイルです。テンプレートテンプレートでこのコンポーネントを使用します <マーキークラス="realData"> <ul class="fa-scroll-cont"> <li v-for="realData 内のアイテム" :key="item.name"> <span class="roll-text">{{ item.city }}</span> </li> </ul> </マーキー> 次に効果図を示します。 効果をより明確にするために、さらに数枚写真を撮りました。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Spring Boot のパッケージ化と Docker リポジトリへのアップロードの詳細な手順
>>: CSS スタイルを変更してグレーの Web ページ (色なし、明るい白黒のみ) を実現するいくつかの方法
1. コマンドの紹介tac (cat の逆順) コマンドは、ファイルの内容を行単位で逆順に出力します...
非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...
目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...
目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...
学習目標: parseInt() と Number() という 2 つの関数は、文字列をデータ型に変...
以前にインストールされたバージョンのデータベースをアンインストールする方法については、この記事を参照...
序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...
1. Javascript は前のページ history.go(-1) に戻り、2 つのページを返し...
はじめに<br />誰もが高速インターネット接続にアクセスできるわけではありません。たと...
仮想ホストは、インターネット上で実行されているサーバー ホストを複数の「仮想」ホストに分割する特殊な...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...
<br />最も実用的なものを選んで話しましょう。まず、勤務先の都市を慎重に選ぶ必要があ...
次のような効果がよく見られます。 そうです、ページ上でよく使われる「展開と折りたたみ」のインタラクシ...
境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...