Vue はアラート機能を段階的に実装します。 _html/css_WEB-ITnose
ネイティブ アラートの欠点
-
すべての操作がブロックされ、ユーザー エクスペリエンスに影響します
-
多くのブラウザーでは、デフォルトは WeChat などの固定アラートです。
-
ネイティブのアラート ボックスのスタイルは醜いです。
デモアドレス: もっとクリックしてください
プロジェクトアドレス: Web スタイル 皆様にもっと注目していただければ幸いです。プロジェクトには CSS スタイルと Vue コンポーネントがあります。目標は、バックエンド システムを迅速に構築することです。特定の適応設計があります。
css
アイデア: 最も外側のレイヤーは、画面全体を埋める黒い透明な div で、div.modal-mask が固定されています。
マスク内には垂直方向に中央に配置された div ボックスがあり、そのサイズは固定できます。垂直方向の中央揃えにはいくつかのオプションがあります。私はフレックスを選択しました。重要な CSS コードは次のとおりです。
.modal-mask{ position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(55,55,55,.6); z-index: 100; display: flex; align-items: center; justify-content: center;}.modal-confirm{ width: 400px; box-sizing: border-box; padding: 30px 40px; background-color: #fff; border-radius: 6px;}@media only screen and (max-width: 640px) { .modal-confirm{ width: 100%; margin: 0 20px; padding: 10px 20px; }}
ここで、modal-confirm は、400 ピクセルの固定幅とパディングを持つアラート ボックスです。 それから私たちは小さな適応を加えました。 小さい画面(画面幅640px未満)では固定幅が解除されます。小さく見えるようにパディングの値を減らします。
vue コンポーネントの開発
vue テンプレート
まず、このコンポーネント関数をネイティブのアラート イベントのように、いつでもどこでも簡単に呼び出すことができれば幸いです。 毎回インスタンスを new Vue({}) する必要はありません。 ということで、色々なデザインを作ってみました。
<div class="modal-mask" v-show="show"> <div class="modal-confirm"> <h2 class="confirm-header"> <i class="iconfont icon-questioncircle"></i> {{ title }} </h2> <div class="confirm-content"> {{ content }} </div> <div class="confirm-btns"> <button class="btn" @click="op(1)">取 消</button> <button class="btn btn-primary" @click="op(2)">确 定</button> </div> </div> </div>
v-show は、アラート コンポーネントの表示と非表示を制御するコマンドです。 {{ }} は vue のデフォルトのテンプレートタグです。
@click はクリックイベントをバインドする命令です
vue data
new Vue({ el: '#V-confirm', data: { show: false, onCancel: false, onOk: false, title: '', content: '' } })
-
show は非表示の表示を制御しますタグ。
-
onCancel onOk は、「キャンセル」または「OK」をクリックしたときにトリガーされるコールバックです。
-
タイトル内容はアラートで表示されるテキストです。
vue メソッド
methods: { op(type){ this.show = false if(type == '1'){ if(this.onCancel) this.onCancel() }else{ if(this.onOk) this.onOk() } this.onCancel = false this.onOk = false document.body.style.overflow = '' }, alert(setting){ this.title = setting.title || '标题' this.content = setting.content || '内容' this.onOk = setting.onOk || false this.onCancel = setting.onCancel || false this.show = true document.body.style.overflow = 'hidden' } } }
アラート(設定)メソッドは、アラートコンポーネントの表示を制御するメソッドです。オブジェクトのパラメータ設定を受け入れます。
op(type) メソッドは、「キャンセル」ボタンと「OK」ボタンがクリックされるとトリガーされます。
ハック コード
var element = document.createElement('div'); element.id = 'V-confirm' element.innerHTML = template document.body.appendChild(element)
このコード部分の機能は、直接のアラート呼び出しを容易にするために、最初から本体の下部に vue インスタンスを挿入することです。
いくつかのアニメーション効果を追加します
これは vue コマンド トランジションに依存しています。具体的な使用方法のチュートリアルについては、Transition-Portal
.modal-enter, .modal-leave { opacity: 0;}.modal-transition{ transition: all .3s ease;}.modal-enter .modal-confirm,.modal-leave .modal-confirm { transform: scale(1.1);}.modal-transition{ transition: all .3s ease;}
使用法
<🎜 を参照してください。 >var setting = {} setting.title = '你确定删除吗?' setting.content = '删除不可以恢复...' setting.onOk = function(){} setting.onCancel = function(){} $confirm.alert(setting)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











公式アカウントのWebページはキャッシュを更新します。これはシンプルでシンプルで、ポットを飲むのに十分な複雑です。あなたは公式のアカウントの記事を更新するために一生懸命働きましたが、ユーザーはまだ古いバージョンを開くことができますか?この記事では、この背後にあるtwist余曲折と、この問題を優雅に解決する方法を見てみましょう。それを読んだ後、さまざまなキャッシュの問題に簡単に対処でき、ユーザーが常に新鮮なコンテンツを体験できるようになります。最初に基本について話しましょう。それを率直に言うと、アクセス速度を向上させるために、ブラウザまたはサーバーはいくつかの静的リソース(写真、CSS、JSなど)やページコンテンツを保存します。次回アクセスするときは、もう一度ダウンロードすることなく、キャッシュから直接検索できます。自然に高速です。しかし、このことは両刃の剣でもあります。新しいバージョンはオンラインです、

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、CSSを使用したWebページへの効率的なPNG境界追加を示しています。 CSSはJavaScriptやライブラリと比較して優れたパフォーマンスを提供し、微妙または顕著な効果のために境界幅、スタイル、色を調整する方法を詳述していると主張しています

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex
