在專案開發中,如果我們使用javascript自帶的提示對話框,感覺不怎麼美觀,所以我們通常都是自己定義一些對話框,這裡我實現點擊按鈕就彈跳一個登錄的窗口,點擊該窗口並可以實現拖曳功能,太多文字的東西說不清楚,直接用代碼說話。 這裡我將HTML、CSS、Jquery代碼分別貼出來HTML部分: 複製代碼 代碼如下: 彈窗 登入騰虎通行證> × 請輸入使用者名稱 請輸入密碼 下次自動登入 忘記密碼? 立即註冊 可以用一下方式登入 QQ MSN CSS部分程式碼: 複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼 程式碼 <BR>*{margin:0px;padding:0px;color:#555555;} <BR>.alter{寬度:50px;height:30px;margin🎜>.alter{寬度:50px;height:30px;margin🎜>.alter{寬度:50px;height:30px;margin :10px} <BR>.box{ <BR>寬度:100% ; <BR>高度:100%; <BR>位置:固定; <BR>頂部:0; <BR>左:0; <BR>背景:-moz-線性漸變(rgba(11,11,11,0.5), rgba(11,11,11,0.1)) 重複-x rgba(11,11,11,0.1); <BR>背景:-webkit -gradient(線性, 0% 0%, 0% 100%, from(rgba(11,11,11,0.1)), to(rgba(11,11,11,0.1)))重複-x rgba(11, 11,11,0.1); <BR>z-index:100000; <BR>顯示:無; <BR>} <BR>.box_content{ <BR>高度:420px; <BR>寬度:350px;背景:白色; <BR>位置:固定; <BR>頂部:0; <BR>左:0; <BR>} <BR>.box_content .title{ <BR>高度:45px; <BR>寬度:1000 %; <BR>背景:#EEEEEE; <BR>行高:45px; <BR>溢出:隱藏; <BR>} <BR>.title:hover{遊標:移動;} <BR>.title h3{floatatat :left;margin-left:20px;} <BR>.title h2{float:right;margin-right: 15px;顏色:#999999} <BR>.title h2:hover{顏色:#4444444444442; <BR><br>.box_content .content,.other{邊距:20px 20px 10px 20px;溢出:隱藏; font:normal 14px "宋體";} <br>.content table} {寬度:99%; >.content .inputstyle,.prompt{height:35px;width:96.5%;padding-left:10px;} <BR>.content .inputstyle{font:bold 18px/35px "宋體";} <BR>.content a { <BR>text-decoration: none; <BR>顏色:#1B66C7 <BR>} <BR>.content a:hover{文字裝飾:下劃線;} <BR>.content table .login{ <BR>高度: 45px;寬度:101%; <BR>邊框:無; <BR>背景:#4490F7; <BR>顏色:#FFFFFF; <BR>font:bold 17px "宋體"; <BR>邊框半徑:4px; 🎜>} <BR>.內容表.login:hover{ <BR>背景:#559BFC; <BR>} <BR>.content .prompt{ <BR>顏色:#999999; <BR>位置:絕對; 🎜>行高:38px; <BR>} <BR><BR>.box_content .other{font:normal 14px "宋體";} <BR>.other ul{ <BR>list-style:none; <br>; <br>頂部邊距:15px; <BR>} <BR>.other ul li{ <BR>float:left; <BR>高度:30px; <BR>寬度:30px; <BR>右邊距:15px; <BR>寬度:30px; <BR>右邊距:15px;邊框半徑:20px; <BR>背景:#1B66C7; <BR>顏色:白色; <BR>文字對齊:居中; <BR>行高:30px <BR>} <BR> Jquery程式碼: 複製程式碼程式碼如下: スクリプト> <br><script type="text/javascript"> <br>$(document).ready(function(){ <br>BoxInit.init(); <br>}); 🎜>var BoxInit={ <br>wWidth:unknown,//ブラウザの幅<br>wHeight:unknown,//ブラウザの高さ<br>show:unknown,//ボタンを表示<br>box:unknown,// Pop-アップ ウィンドウを覆う property<br>boxContent:unknown,//ポップアップ ウィンドウ property<br>closeBox:unknown,//閉じるボタン property<br>loginBtn:unknown,//ログイン ボタン property<br>init:function() { <br>var self=this; <br>// コントロール オブジェクトを取得します<br>self.show=$("#show"); <br>self.box=$(".box"); >self.boxContent=$(".box_content"); <br>self.closeBox=$("#close"); <br>self.loginBtn=$("#login");視覚化の幅と高さ<br>self.wWidth=$(window).width(); <br>self.wHeight=$(window).height(); <br>//表示ボタンのクリックイベントをバインドします<br> self.show.click(function(){self.showBtn()}); <br>//閉じるボタンイベントをバインドします<br>self.closeBox.click(function(){self.closes()}); 🎜> //ログインボタンをバインドします<br>self.loginBtn.click(function(){self.login()}); <br>//DIV ドラッグ<br>self.dragDrop();コントロール プロンプト情報<br>self.controlPromptInfo(); <br>}, <br>/**<br>*ボタンを表示 <br>*/ <br>showBtn:function(){ <br>var self=this; box.animate({"width":self.wWidth,"height":self.wHeight},function(){ <br>//ポップアップウィンドウの位置を設定します<br>self.boxContent.animate({ <br>" left":(self.wWidth-self.boxContent.width())/2 <br>},function(){ <br>$(this).animate({"top":(self.wHeight -self.boxContent .height())/2}); <br>}); <br>/**<br>*閉じるボタン <br>*/ <br>closes:function() { <br> var self=this; <br>self.boxContent.animate({ <br>"top":0 <br>},function(){ <br>$(this).animate({"left" :-(self .wWidth-self.boxContent.width())/2},function(){ <br>self.box.animate({"width":-self.wWidth,"height":-self.wHeight) }); <br>}); <br>}, <br>/**<br>*ログインボタン<br>*/ <br>var self=this; >self.boxContent .animate({ <br>"top":0 <br>},function(){ <br>$(this).animate({"left":-(self.wWidth-self.boxContent. width()) /2},function(){ <br>self.box.animate({"width":-self.wWidth,"height":-self.wHeight}); <br><br> }); <br>}, <br>/**<br>*ポップアップウィンドウをドラッグ <br>*/ <br>dragDrop:function(){ <br>var self=this;//要素を移動するかどうかを指定します<br>var offsetX=0;//ポップアップ ウィンドウの幅をブラウザの左側に移動します<br>var offsetY=0;//ポップアップ ウィンドウの幅をブラウザの左側に移動しますブラウザの上部<br>var title=$(".title");//マウスダウンイベント<br>title.mousedown(function(){ <br>move=true;//マウスが押されたときdiv を押して、move 属性を true に設定します。 <br>offsetX=event. offsetX;// 現在のウィンドウ内のマウスの相対オフセット位置の Left 値を取得し、それを offsetX <br>offsetY=event に割り当てます。 offsetY;//現在のウィンドウ内のマウスの相対オフセット位置の Top 値を取得し、offsetY に割り当てます。<br>title.css({"cursor":"move"}).mouseup (function(){ <br>//マウスを放したときに、move 属性を false に設定します <br> move=false; <br>}); <br>$(document).mousemove(function(){ <br>if(!move){//move 属性が true でない場合、次のコードは実行されません <br>return; <br>} <br>//move が true の場合、次のコードを実行します <br>var x =event.clientX-offsetX; //event.clientX はクライアントのテキスト領域を基準としたマウスのオフセットを取得し、次に offsetX を減算して、現在のウィンドウを基準とした現在プッシュされている要素の X 値を取得します (マイナスoffset clientY は、クライアントのテキスト領域を基準としたマウスのオフセットを取得し、offsetX を減算して、現在のウィンドウを基準とした現在プッシュされている要素の Y 値を取得します (マウスが最初にドラッグを開始したときの現在のウィンドウのオフセット Y を減算します)。 <br>if(!(x<0||y<0||x>(self.wWidth-self.boxContent.width())||y>(self.wHeight-self.boxContent.height())) ){ <br>self.boxContent.css({"左":x,"上":y,"カーソル":"移動"}) <br>} <br>}); 🎜> /**<br>*制御プロンプト情報 <br>*/ <br>controlPromptInfo:function(){ <br>//プロンプト情報を調べて、<br>$("p[class*=prompt]").each(function( ){ <br>var pro=$(this); <br>pro.click(function(){ <br>//クリックプロンプト情報自体が非表示になり、テキストボックスがフォーカスされます<br>pro.hide() .siblings("input ").focus(); <br>}) <br>// テキスト ボックスを移動します<br>$("input[class*=ins]"); (function(){ <br>var input=$(this); <br>//テキスト ボックスはフォーカスを失います<br>input.blur(function(){ <br>//テキスト ボックスの値が空の場合<br>if(input.val( )==""){ <br>//プロンプト情報を表示します<br>input.siblings(".prompt").show(); <br>} <br>})。 keyup(function(){// ボタンが上がったとき<br>if(input.val()==""){// テキスト ボックスの値が空の場合<br>// テキスト ボックスはフォーカスを失い、表示されますプロンプトメッセージ<br>input.blur().siblings(".prompt").show(); <br>}else{ <br>//プロンプト情報を非表示にする<br>input.siblings(".prompt" ).hide(); <br>} <br> }); <br>} <br>} <br><br> <br>のコード機能全体はここにあります</div></span></div>