天猫で買い物をしていると、削除ボタンやログインボタンをクリックすると、削除するかログインするかを尋ねるダイアログボックスが表示され、前のページの情報も表示されることがあります。 、[いいえ] をクリックするだけです。対応する変更はダイアログ ボックスでの操作後にのみ行われます。スクリーンショットは次のとおりです (Tmall を例にしています) 図に示すように、上記は Tmall のレンダリングです。実際、これは jQuery を通じて実現されており、実装プロセスはそうではありません。非常に複雑です。実装プロセスを見てみましょう。 最初はページのレイアウト部分です: delete.html
マスクポップアップ ;meta http -equiv="keywords" content="keyword1,keyword2,keyword3">
-equiv= "content-type" content="text/html; charset=UTF-8">
>
"クリックして OK 閉じる" src="../images/delete.gif" width="30px" height="30px;"> 削除時のプロンプト
< div class=" content">
このレコードを本当に削除してもよろしいですか?
;/div> 追加したレコードは 1 つだけですが、実際には複数の削除をシミュレートできることに注意してください。記録の。ここには 3 層の div 構造があり、そのマスクとダイアログを使用して jquery を介してトリガーできるようにします。まず、CSS のレイアウトについて説明します: delete.html 。 コードをコピーします コードは次のとおりです。 @CHARSET "UTF-8"; *{ margin : 0px;
}
.divShow{
行の高さ: 32px;
背景色: #eee; 🎜>width: 280px;
padding -left: 10px; .dialog{ width: 360px; ;
position:Absolute;
display: none;
z-index: 101; // このレイヤーが上部に表示されるようにします
.title{
背景:#fbaf15;
カラー: #fff;
}
.title img {
float:right;
}
background: #fff;
height: 60px; >}
.dialog .content img{
float: 左;
}
.dialog スパン{
float: left;
>
}
.dialog .bottom{
text-align: right;
padding: 10 10 10 0; 🎜>}
.mask{
幅: 100%;
高さ: 100%;
位置: 絶対; : 0px;
左: 0px;
表示: なし;
}
.btn{
ボーダー: #666ソリッド;
幅: 65px;
}
CSS ファイルで注目する必要があるのは、z-index の使用です。z-index はレイヤーの重なり順を表し、値が大きいほど上位のレイヤーに表示されることを意味します。マスクの z インデックスは 100 です。ダイアログの z インデックスは 100 です。値が十分に大きい理由は、その値が確実に最上位に表示されるようにするためです。 div レイヤーの表示は、値を増やすことで制御できます。
次のステップは最も重要な js コードです。もちろん、jquery を使用する場合は、jquery パッケージをインポートする必要があります:
delete.js
$(function(){ //削除ボタンのトリガー イベントをバインドします $("#button1").click(function) (){ $(".mask").css("opacity","0.3").show(); showDialog(); $(".dialog")。 show(); } ); /* * スクロールバー上の現在のページの位置に応じてプロンプトダイアログボックスの上部と左側を設定します */ function showDialog(){ var objw= $(window);//現在のウィンドウ var objc=$(".dialog");//現在のダイアログ ボックス var brsw=objw.width (); var brsh=objw.height(); var sclL=objw.scrollTop(); ; var curh=objc.height(); //ダイアログ ボックスが中央にあるときの左マージンを計算します var left=sclL (brsw -curw)/2; (brsh-curh)/2; / /ダイアログ ボックスを中央に設定します objc.css({"left":left,"top":top}); } //ページ ウィンドウ サイズが変更されたときにトリガーされます Event $(window).resize(function(){ if(!$(".dialog").is( ":visible")){ return; } showDialog(); }); //画像を閉じるクリックイベントを登録します $(". title img").click(function(){ $(".dialog").hide(); $(".mask").hide(); }); //キャンセルボタンイベント $( "#noOk").click(function(){ $(".dialog").hide(); $(".マスク").hide(); }); //OK ボタン left $("#ok").click(function(){ $( ".dialog").hide(); $(" .mask").hide(); if($("input:checked").length !=0){ //フィルターセレクターの途中にスペースを入れることはできないことに注意してください $("input :checked") これは間違っています $(".divShow").remove();// a を削除します特定のデータ } }); }); 🎜>メインエージェントは動的確認ダイアログボックスの場所を表示するための showDialog() であることに注意してください。