小編給大家分享一下JavaScript如何實現(xiàn)彈窗效果,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
南譙網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
效果圖:
話不多說,請看代碼:
每個彈窗的標(biāo)識 var x =0; var idzt = new Array(); var Window = function(config){ ID不重復(fù) idzt[x] = "zhuti"+x; 彈窗ID 初始化,接收參數(shù) this.config = { width : config.width || 300, 寬度 height : config.height || 200, 高度 buttons : config.buttons || '', 默認(rèn)無按鈕 title : config.title || '標(biāo)題', 標(biāo)題 content : config.content || '內(nèi)容', 內(nèi)容 isMask : config.isMask == false?false:config.isMask || true, 是否遮罩 isDrag : config.isDrag == false?false:config.isDrag || true, 是否移動 }; 加載彈出窗口 var w = ($(window).width()-this.config.width)/2; var h = ($(window).height()-this.config.height)/2; var nr = "<div class='zhuti' id='"+idzt[x]+"' bs='"+x+"' style='width:"+this.config.width+"px; height:"+this.config.height+"px; left:"+w+"px; top:"+h+"px;'></div>"; $("body").append(nr); 加載彈窗標(biāo)題 var content ="<div id='title"+x+"' class='title' bs='"+x+"'>"+this.config.title+"<div id='close"+x+"' class='close' bs='"+x+"'>×</div></div>"; 加載彈窗內(nèi)容 var nrh = this.config.height - 75; content = content+"<div id='content"+x+"' bs='"+x+"' class='content' style='width:100%; height:"+nrh+"px;'>"+this.config.content+"</div>"; 加載按鈕 content = content+"<div id='btnx"+x+"' bs='"+x+"' class='btnx'>"+this.config.buttons+"</div>"; 將標(biāo)題、內(nèi)容及按鈕添加進(jìn)窗口 $('#'+idzt[x]).html(content); 創(chuàng)建遮罩層 if(this.config.isMask) { var zz = "<div id='zz'></div>"; $("body").append(zz); $("#zz").css('display','block'); } 最大最小限制,以免移動到頁面外 var maxX = $(window).width()-this.config.width; var maxY = $(window).height()-this.config.height; var minX = 0, minY = 0; 窗口移動 if(this.config.isDrag) { 鼠標(biāo)移動彈出窗 $(".title").bind("mousedown",function(e){ var n = $(this).attr("bs"); 取標(biāo)識 使選中的到最上層 $(".zhuti").css("z-index",3); $('#'+idzt[n]).css("z-index",4); 取初始坐標(biāo) var endX = 0, 移動后X坐標(biāo) endY = 0, 移動后Y坐標(biāo) startX = parseInt($('#'+idzt[n]).css("left")), 彈出層的初始X坐標(biāo) startY = parseInt($('#'+idzt[n]).css("top")), 彈出層的初始Y坐標(biāo) downX = e.clientX, 鼠標(biāo)按下時,鼠標(biāo)的X坐標(biāo) downY = e.clientY; 鼠標(biāo)按下時,鼠標(biāo)的Y坐標(biāo) 綁定鼠標(biāo)移動事件 $("body").bind("mousemove",function(es){ endX = es.clientX - downX + startX; X坐標(biāo)移動 endY = es.clientY - downY + startY; Y坐標(biāo)移動 最大最小限制 if(endX > maxX) { endX = maxX; } else if(endX < 0) { endX = 0; } if(endY > maxY) { endY = maxY; } else if(endY < 0) { endY = 0; } $('#'+idzt[n]).css("top",endY+"px"); $('#'+idzt[n]).css("left",endX+"px"); window.getSelection ? window.getSelection().removeAllRanges():document.selection.empty(); //取消選中文本 }); }); 鼠標(biāo)按鍵抬起,釋放移動事件 $("body").bind("mouseup",function(){ $("body").unbind("mousemove"); }); } 關(guān)閉窗口 $(".close").click(function(){ var m = this.getAttribute("bs"); 找標(biāo)識 $('#'+idzt[m]).remove(); 移除彈窗 $('#zz').remove(); 移除遮罩 }) x++; 標(biāo)識增加 }
看完了這篇文章,相信你對“JavaScript如何實現(xiàn)彈窗效果”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享題目:JavaScript如何實現(xiàn)彈窗效果
文章位置:http://vcdvsql.cn/article24/pejcce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、動態(tài)網(wǎng)站、ChatGPT、網(wǎng)站設(shè)計、小程序開發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)