この記事では、マーキースタイルのテキストの水平スクロールを実現するための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 ページ (色なし、明るい白黒のみ) を実現するいくつかの方法
序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...
輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...
多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...
ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...
1. はじめに最近、開発者が誤ってデータを削除したり更新したりするケースがよくあります。今回もまた問...
この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...
この記事では、CentOS 7.4 サーバーで時刻同期を構成する方法について説明します。ご参考までに...
MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...
1. まず、nginxの位置情報に関する関連知識を確認しましょう1) 位置マッチング手順: ~ #波...
3回の暗記により、大量の資材の正確な場所と目的を記憶でき、その使いやすさが向上します。 これは単なる...
この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...
序文前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明し...
前の記事では、deepin linux に新しいカーネルを手動でインストールする方法について説明しま...
JavaScriptコントロールを使用したくない場合は、次の方法を試してください。 Safariブラ...
1. PAM設定ファイルを編集する sudo vim /etc/pam.d/ログイン2行目に以下を...