新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaScript如何實(shí)現(xiàn)彈窗效果-創(chuàng)新互聯(lián)
小編給大家分享一下JavaScript如何實(shí)現(xiàn)彈窗效果,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
效果圖:
話不多說,請(qǐng)看代碼:
每個(gè)彈窗的標(biāo)識(shí) 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, 是否移動(dòng) }; 加載彈出窗口 var w = ($(window).width()-this.config.width)/2; var h = ($(window).height()-this.config.height)/2; var nr = ""; $("body").append(nr); 加載彈窗標(biāo)題 var content =""+this.config.title+""; 加載彈窗內(nèi)容 var nrh = this.config.height - 75; content = content+"×"+this.config.content+""; 加載按鈕 content = content+""+this.config.buttons+""; 將標(biāo)題、內(nèi)容及按鈕添加進(jìn)窗口 $('#'+idzt[x]).html(content); 創(chuàng)建遮罩層 if(this.config.isMask) { var zz = ""; $("body").append(zz); $("#zz").css('display','block'); } 大最小限制,以免移動(dòng)到頁面外 var maxX = $(window).width()-this.config.width; var maxY = $(window).height()-this.config.height; var minX = 0, minY = 0; 窗口移動(dòng) if(this.config.isDrag) { 鼠標(biāo)移動(dòng)彈出窗 $(".title").bind("mousedown",function(e){ var n = $(this).attr("bs"); 取標(biāo)識(shí) 使選中的到最上層 $(".zhuti").css("z-index",3); $('#'+idzt[n]).css("z-index",4); 取初始坐標(biāo) var endX = 0, 移動(dòng)后X坐標(biāo) endY = 0, 移動(dòng)后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)按下時(shí),鼠標(biāo)的X坐標(biāo) downY = e.clientY; 鼠標(biāo)按下時(shí),鼠標(biāo)的Y坐標(biāo) 綁定鼠標(biāo)移動(dòng)事件 $("body").bind("mousemove",function(es){ endX = es.clientX - downX + startX; X坐標(biāo)移動(dòng) endY = es.clientY - downY + startY; Y坐標(biāo)移動(dòng) 大最小限制 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)按鍵抬起,釋放移動(dòng)事件 $("body").bind("mouseup",function(){ $("body").unbind("mousemove"); }); } 關(guān)閉窗口 $(".close").click(function(){ var m = this.getAttribute("bs"); 找標(biāo)識(shí) $('#'+idzt[m]).remove(); 移除彈窗 $('#zz').remove(); 移除遮罩 }) x++; 標(biāo)識(shí)增加 }
看完了這篇文章,相信你對(duì)“JavaScript如何實(shí)現(xiàn)彈窗效果”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁名稱:JavaScript如何實(shí)現(xiàn)彈窗效果-創(chuàng)新互聯(lián)
本文鏈接:http://fisionsoft.com.cn/article/deecej.html