이 기사의 예에서는 확대/축소, 드래그, 닫기 및 최소화가 가능한 부동 창을 구현하는 JS 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다. 코드 복사 코드는 다음과 같습니다. JS实现可缩放, 拖动, 关闭와 最smallized浮动窗口 머리> <br> .divWindow{word-wrap:break-word;위치:절대; 오버플로:숨김;}<br> .divBar{border:#000000 1px solid;position:absolute;border-bottom:#000000 1px solid;width:100%;height:20px; background-color:#0099FF;cursor:hand;line-height:20px;} <br> .divChange{위치:absolute;right:25px;font-size:10pt;}<br> .divClose{위치:absolute;right:5px;font-size:11pt;}<br> .divTitle{position:absolute;left:5px;font-size:10pt;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow: hide;}<br> .divContent{border:#000000 1px solid;border-top:#000000 0px solid;position:absolute; 상단:20px;폭:100%; 배경색:#FFFFFF; 오버플로-y:자동;<br> 스크롤바 기본 색상: #FFFFFF;스크롤바 화살표 색상: #999999;스크롤바 얼굴 색상: #EEEEEE;스크롤바 강조 색상: #EEEEEE;<br> 스크롤바-그림자 색상: #EEEEEE;스크롤바-3DLIGHT-COLOR: #FFFFFF;스크롤바-트랙-색상: #FFFFFF;스크롤바-DARKSHADOW-COLOR: #CCCCCC;}<br> .divReSize{높이:7px; 너비:7px; 오버플로:숨김; 배경색:#0000FF; 위치:절대; 하단:6px; 오른쪽:6px; 커서:nw-크기 조정}<br> .divIframe{높이:100%;너비:100%;}<br> </스타일><br> <스크립트 언어="javascript"><br> var zindex=0 //전체 전체수<br> 함수 dragClass(이름, 제목, 내용, 왼쪽, 위쪽, 너비, 높이){<br> var isMouseDown=false;<br> var 최대값=false;<br> var offX=0; //设置抓取点X坐标<br> var offY=0; //设置抓取点Y坐标<br> var oldLeft; //保存正常状态的X坐标<br> var oldTop; //保存正常状态的Y坐标<br> this.mousedown= function (){ //아래로 내리기<br> Bar.setCapture(); //设置抓取<br> offX=parseInt(event.clientX)-parseInt(Window.style.left);<br> offY=parseInt(event.clientY)-parseInt(Window.style.top);<br> isMouseDown=true;<br> if(Window.style.zIndex<=zindex){<br /> zindex ;<br /> Window.style.zIndex=zindex;<br /> }<br /> }<br /> this.mousemove= function (){ //拖动窗口<br /> if (isMouseDown && !maximum){<br /> Bar.style.cursor='이동'<br /> Window.style.left=event.clientX-offX;<br /> Window.style.top=event.clientY-offY;<br /> if(Window.style.zIndex<=zindex){<br /> zindex ;<br /> Window.style.zIndex=zindex;<br /> }<br /> }<br /> }<br /> this.mouseup=function (){ //松开按钮<br /> Bar.releaseCapture(); //取消抓取<br /> Bar.style.cursor='손';<br /> if (parseInt(Window.style.top)<0){<br /> Window.style.top='0px';<br /> }<br /> if (parseInt(Window.style.left)<0){<br /> Window.style.left='0px';<br /> }<br /> isMouseDown=false;<br /> }<br /> this.dblclick=function (){ //双击最大最소화<br /> if (!최대){<br /> oldLeft=Window.style.left; //保存正常状态的X坐标<br /> oldTop=Window.style.top; //保存正常状态的Y坐标<br /> Window.style.left='0px';<br /> Window.style.top='0px';<br /> Window.style.width= document.body.clientWidth; //网页可见区域宽<br /> Title.style.width=(document.body.clientWidth-40) 'px'; //设置标题长道<br /> ReSize.style.display='없음';<br /> if(Change.innerText=='-'){<br /> Window.style.height='100%';<br /> Content.style.height=document.body.clientHeight-20; //网页可见区域宽-标题고도<br /> }그밖에{<br /> Window.style.height='20px';<br /> }<br /> 최대=참;<br /> }그밖에{<br /> Window.style.left=oldLeft;<br /> Window.style.top=oldTop;<br /> Window.style.width=너비 'px';<br /> Title.style.width=(너비-40) 'px';<br /> ReSize.style.display='';<br /> if(Change.innerText=='-'){<br /> Window.style.height=높이 'px';<br /> Content.style.height=parseInt(height-20) 'px';<br /> }그밖에{<br /> Window.style.height='20px';<br /> }<br /> 최대=거짓;<br /> }<br /> if(Window.style.zIndex<=zindex){<br /> zindex ;<br /> Window.style.zIndex=zindex;<br /> }<br /> }<br /> this.changeWindow=function (){ //실행하기<br /> event.cancelBubble=true;<br /> if(Change.innerText=='-'){<br /> Window.style.height='20px';<br /> Change.innerText='□';<br /> Content.style.display='없음';<br /> ReSize.style.display='없음';<br /> }그밖에{<br /> if (최대){<br /> Window.style.height='100%';<br /> Content.style.display='';<br /> ReSize.style.display='';<br /> Content.style.height=document.body.clientHeight-20; //网页可见区域宽-标题고도<br /> }그밖에{<br /> Window.style.height=높이 'px';<br /> Content.style.display='';<br /> ReSize.style.display='';<br /> Content.style.height=parseInt(height-20) 'px';<br /> }<br /> Change.innerText='-';<br /> }<br /> }</p><p>var Window=document.createElement("div");<br /> Window.id="divWindow" 이름;<br /> Window.className="divWindow";<br /> Window.style.left=왼쪽 'px';<br /> Window.style.top=top 'px';<br /> Window.style.width=너비 'px';<br /> Window.style.height=높이 'px';<br /> Window.onclick=function(){<br /> if(parseInt(Window.style.zIndex)<=zindex){<br /> zindex ;<br /> Window.style.zIndex=zindex;<br /> }<br /> }<br /> this.Window=창;<br /> //공용 속성은 클래스 외부에서 작동할 수 있습니다. 클래스 외부에서 작동하려면 해당 요소를 공용 속성으로 변경할 수 있습니다<br /> <br /> var Bar=document.createElement("div");<br /> Bar.id="divBar" 이름;<br /> Bar.onselectstart="return false";<br /> Bar.className="divBar";<br /> Bar.onmousedown=this.mousedown;<br /> Bar.ondblclick=this.dblclick;<br /> Bar.onmousemove=this.mousemove;<br /> Bar.onmouseup=this.mouseup;<br /> Window.appendChild(Bar);<br /> var Title=document.createElement("span");<br /> Title.id="divTitle" 이름;<br /> Title.className="divTitle";<br /> Title.style.width=(width-40) 'px'; //적응형 제목 길이<br /> Title.innerText=제목;<br /> Bar.appendChild(제목);<br /> var Change=document.createElement("span");<br /> Change.id="divChange" 이름;<br /> Change.className="divChange";<br /> Change.innerText="-";<br /> Change.ondblclick=this.changeWindow;<br /> Change.onclick=this.changeWindow;<br /> Bar.appendChild(변경);<br /> var Close=document.createElement("span");<br /> Close.id="divClose" 이름;<br /> Close.onclick=function(){<br /> Window.style.display='없음';<br /> }<br /> Close.className="divClose";<br /> Close.innerText="×";<br /> Bar.appendChild(닫기);<br /> var Content=document.createElement("div");<br /> Content.id="divContent" 이름;<br /> Content.className="divContent"<br /> Content.innerHTML=content;<br /> Content.style.height=parseInt(height-20) 'px';<br /> Window.appendChild(콘텐츠);<br /> <br /> var ReSize=document.createElement("div");<br /> ReSize.className="divReSize";<br /> ReSize.onmousedown=function(){<br /> if(Window.style.zIndex<=zindex){<br /> zindex ;<br /> Window.style.zIndex=zindex;<br /> }<br /> ReSize.setCapture();<br /> isMouseDown=true;<br /> }<br /> ReSize.onmousemove=function(){<br /> if (isMouseDown && !maximum)<br /> {<br /> width=parseInt(event.clientX)-parseInt(Window.style.left) 5;<br /> height=parseInt(event.clientY)-parseInt(Window.style.top) 5;<br /> If(너비>100){ //최소 너비 설정<br /> Window.style.width=너비 'px';<br /> Title.style.width=(너비-40) 'px';<br /> }<br /> If(height>100){ //최소 높이 설정<br> Window.style.height=높이 'px';<br> Content.style.height=parseInt(height-20) 'px';<br> }<br> }<br> }<br> ReSize.onmouseup=function(){<br> ReSize.releaseCapture();<br> isMouseDown=false;<br> }<br> Window.appendChild(크기 조정);<br> var Iframe=document.createElement("iframe"); //iframe 추가, IE6.0에서 <select> 컨트롤<br> 차단 Iframe.className="divIframe";<br> Window.appendChild(Iframe);<br> <br> document.body.appendChild(창);<p>}<br> <br> <br> <br> //dragClass(ID, 창 제목, 내용, X 좌표, Y 좌표, 너비, 길이)<br> var c1="창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1 창 1";<br> objWin1=new dragClass('win1','드래그 창 1',c1,0,150,300,300);<br> var c2="창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2 창 2";<br> objWin2=new dragClass('win2','드래그 창 2',c2,350,150,300,300);<br> var objWin3;<br> 함수 openWin(){<br> if(objWin3==null){<br> var c3="123 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3 창 3";<br> objWin3=새 dragClass('win3',c3,c3,700,150,300,300);<br> }그밖에{<br> If(objWin3.Window.style.display=='없음'){<br> objWin3.Window.style.display='';<br> }<br> }<br> }<br> <br> <input type="button" value="팝업 [창 3]" onClick="openWin()" /><br> </본문><br> </p> </div>