有关div页面拖动、缩放、关闭、遮罩效果代码

UntitledDocument
#rRightDown,#rLeftDown,#rLeftUp,#rRightUp,#rRight,#rLeft,#rUp,#rDown{
position:absolute;
background:#00F;
width:3px;
height:3px;
z-index:6;
font-size:0;
}

#rLeftDown,#rRightUp{cursor:ne-resize;}
#rRightDown,#rLeftUp{cursor:nw-resize;}
#rRight,#rLeft{cursor:e-resize;}
#rUp,#rDown{cursor:n-resize;}

#rLeftDown{left:-4px;bottom:-4px;}
#rRightUp{right:-4px;top:-4px;}
#rRightDown{right:-4px;bottom:-4px;background-color:#00F;}
#rLeftUp{left:-4px;top:-4px;}
#rRight{right:-4px;top:50%;margin-top:-4px;}
#rLeft{left:-4px;top:50%;margin-top:-4px;}
#rUp{top:-4px;left:50%;margin-left:-4px;}
#rDown{bottom:-4px;left:50%;margin-left:-4px;}
有关DIV 拖动、缩放、遮罩效果

';
str = str + '

';
str = str + '';
str = str + '

';//左下角div
str = str + '

';//右上角div
str = str + '

';//右下角div
str = str + '

';//左上角div
str = str + '

';//右边div
str = str + '

';//左边div
str = str + '

';//上边div
str = str + '

';//下边div

objDiv.innerHTML = str;

//添加边框样式
objDiv.style.border="solid #0033FF 3px;";
objDiv.style.borderTop = "2px solid #55A0FF";
objDiv.style.borderLeft = "2px solid #55A0FF";
objDiv.style.borderRight = "2px solid #55A0FF";
objDiv.style.borderBottom = "2px solid #55A0FF";

//create iframe
var frm=document.createElement("iframe");
frm.id="ifrm";
frm.name="ifrm";
frm.style.position="absolute";
frm.style.width="100%";
frm.style.height=180;
frm.style.top=20;
frm.style.display='';
frm.frameborder=0;
objDiv.appendChild(frm);

document.body.appendChild(newMask);
document.body.appendChild(objDiv);

//实现拖动效果
var objDrag=document.getElementById("drag");
var drag=false;
var dragX=0;
var dragY=0;

objDrag.attachEvent("onmousedown",startDrag);
function startDrag(){
if(event.button == 1 && event.srcElement.tagName.toUpperCase() == "DIV"){
objDrag.setCapture();
objDrag.style.cursor = "move";
objDrag.style.zIndex = "1001";

drag = true;
dragX = event.clientX;
dragY = event.clientY;

event.cancelBubble=true;
event.returnValue=false;
}
};

objDrag.attachEvent("onmousemove",Drag);
function Drag(){
if(drag){
var oldwin = objDrag.parentNode;
oldwin.style.left = oldwin.offsetLeft + event.clientX - dragX;
oldwin.style.top = oldwin.offsetTop + event.clientY - dragY;

dragX = event.clientX;
dragY = event.clientY;
}
};

objDrag.attachEvent("onmouseup",stopDrag);
function stopDrag(){
objDrag.style.zIndex = "4";
objDrag.style.cursor = "default";

objDrag.releaseCapture();
drag=false;
};

}
//关闭按钮样式
function handleOut(){
var objButton = document.getElementById("objClose");
objButton.style.backgroundColor = "#FF0000";
objButton.style.zIndex = "5";
}

function handleOver(){
var objButton = document.getElementById("objClose");
objButton.style.backgroundColor = "#FF8080";
objButton.style.zIndex = "1001";
}
//添加iframe内容
function htmlEditor(){
var frm=document.getElementById("ifrm");
var objDiv=document.getElementById("div1");
var mDiv=document.getElementById("mDiv");

mDiv.style.display='';
var iframeTextContent='';
iframeTextContent+=' ';
iframeTextContent+=' ';
iframeTextContent+=' ';
iframeTextContent+=' ';
iframeTextContent+=' ';
iframeTextContent+=' ';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

';
iframeTextContent+='

Name
Email

';
iframeTextContent+=' ';
iframeTextContent+=' ';
frm.contentWindow.document.designMode='off';
frm.contentWindow.document.open();
frm.contentWindow.document.write(iframeTextContent);
frm.contentWindow.document.close();
objDiv.style.display = ""; //显示浮动的div

//点击go按钮关闭页面
var objGo=frm.contentWindow.document.getElementById("btGo");
objGo.attachEvent("onclick",function (){HideIframe(mDiv,objDiv);});
}

//关闭页面
function HideIframe(mDiv,objDiv){

mDiv.style.display='none';
objDiv.style.display = "none"; //隐藏浮动的div
}

//实现缩放效果
var down = 0;
function moveStart(obj){
var objDiv = obj.parentNode;
obj.setCapture();
obj.style.zIndex = "1001";
down = 1;

_styleWidth = objDiv.clientWidth;
_styleHeight = objDiv.clientHeight;
_styleLeft = objDiv.offsetLeft;
_styleTop = objDiv.offsetTop;

_sideLeft = event.clientX - _styleWidth;
_sideRight = event.clientX + _styleWidth;
_sideUp = event.clientY - _styleHeight;
_sideDown = event.clientY + _styleHeight;

_fixLeft = _styleWidth + _styleLeft;
_fixTop = _styleHeight + _styleTop;

event.cancelBubble = true;
event.returnValue = false;
}

function moving(obj,num){
if(down){
var objDiv = obj.parentNode;
var frm = document.getElementById("ifrm");
switch(num){
//左上角
case 0:
_styleWidth = Math.max(xx = _sideRight - event.clientX,0);
objDiv.style.width = _styleWidth;
objDiv.style.left = _fixLeft - _styleWidth;
_styleHeight = Math.max(yy = _sideDown - event.clientY,0);
objDiv.style.height = _styleHeight;
objDiv.style.top = _fixTop - _styleHeight;
try{
frm.style.width = (xx - 4) + "px";
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//上边
case 1:
_styleHeight = Math.max(yy = _sideDown - event.clientY,0);
objDiv.style.height = _styleHeight;
objDiv.style.top = _fixTop - _styleHeight;
try{
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//右上角
case 2:
_styleWidth = Math.max(xx = event.clientX - _sideLeft,0);
objDiv.style.width = _styleWidth;
_styleHeight = Math.max(yy = _sideDown - event.clientY,0);
objDiv.style.height = _styleHeight;
objDiv.style.top = _fixTop - _styleHeight;
try{
frm.style.width = (xx - 4) + "px";
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//右边
case 3:
_styleWidth = Math.max(xx = event.clientX - _sideLeft,0);
objDiv.style.width = _styleWidth;
try{
frm.style.width = (xx - 4) + "px";
}catch(e){}
break;

//右下角
case 4:
_styleWidth = Math.max(xx = event.clientX - _sideLeft,0);
objDiv.style.width = _styleWidth;
_styleHeight = Math.max(yy = event.clientY - _sideUp,0);
objDiv.style.height = _styleHeight;
try{
frm.style.width = (xx - 4) + "px";
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//下边
case 5:
_styleHeight = Math.max(yy = event.clientY - _sideUp,0);
objDiv.style.height = _styleHeight;
try{
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//左下角
case 6:
_styleWidth = Math.max(xx = _sideRight - event.clientX,0);
objDiv.style.width = _styleWidth;
objDiv.style.left = _fixLeft - _styleWidth;
_styleHeight = Math.max(yy = event.clientY - _sideUp,0);
objDiv.style.height = _styleHeight;
try{
frm.style.width = (xx - 4) + "px";
frm.style.height = (yy - 24) + "px";
}catch(e){}
break;

//左边
case 7:
_styleWidth = Math.max(xx = _sideRight - event.clientX,0);
objDiv.style.width = _styleWidth;
objDiv.style.left = _fixLeft - _styleWidth;
try{
frm.style.width = (xx - 4) + "px";
}catch(e){}
break;
};
}
}

function moveEnd(obj){
down = 0;
obj.style.cursor = "default";
obj.style.zIndex = "6";
obj.releaseCapture();
};
// -->

aa
bb

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 有关div页面拖动、缩放、关闭、遮罩效果代码

    UntitledDocument #rRightDown,#rLeftDown,#rLeftUp,#rRightUp,#rRight,#rLeft,#rUp,#rDown{ position:absolute; background:#00F; width:3px; height:3px; z-index:6; font-size:0; } #rLeftDown,#rRightUp{cursor:ne-resize;} #rRightDown,#rLeftUp{cursor:nw-resize;

  • js实现div拖动动画运行轨迹效果代码分享

    本文实例讲述了js div拖动动画运行轨迹效果.分享给大家供大家参考.具体如下: 这是一款基于js实现的div拖动动画运行轨迹效果源码,是一款原生js div拖动效果制作鼠标拖动div动画运行轨迹效果代码.可以选择[记住轨迹]与[不记住轨迹]两种拖动显示模式,从而显示出不同的拖动效果. 运行效果图:                                        -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能

  • JS实现拖动滚动条评分的效果代码分享

    小编教你JS特效拖动滚动条可以评分效果,小编感觉挺不错,用时候可能需要ASP/PHP或其它语言配合取值并写入数据库,这是前台的实现. 直接上代码 看看JS的神奇吧! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head>

  • 扩展easyui.datagrid,添加数据loading遮罩效果代码

    在使用的过程中,发现easyui目前还缺少一些小功能或是未开放出来 拿datagrid插件来说,数据加载提供了两种方式远程和本地数据加载,但只有远程数据加载时才会显示数据加载的遮罩层,在数据加载完成后隐藏遮罩层:而本地数据加载时则不会出现遮罩,这应该是考虑到本地数据加载的速度很快则没有使用遮罩的必要 不过呢,在实际的项目开发过程中使用时,没有考虑使用url方式加载数据,则采用了loadData方法来异步加载数据,这个时候就很有必要显示遮罩层来提示用户当前正在加载数据,分析easyui的datag

  • 用js+iframe形成页面的一种遮罩效果的具体实现

    用这锻代码 之前请先下载jquery库 复制代码 代码如下: var maskStackCount = 0; function mask(method){ //这里是你想要进行遮罩的窗口,我这里想要遮罩的是一个iframe窗口,也可以用var winObj=$(window) var winObj=window.top.$("body").find("iframe[name='dialognormaliframe']"); if(typeof method == &

  • js形成页面的一种遮罩效果实例代码

    用这锻代码 之前请先下载jquery库 复制代码 代码如下: var maskStackCount = 0; function mask(method){ //这里是你想要进行遮罩的窗口,我这里想要遮罩的是一个iframe窗口,也可以用var winObj=$(window) var winObj=window.top.$("body").find("iframe[name='dialognormaliframe']"); if(typeof method == &

  • JS+DIV+CSS实现的经典标签切换效果代码

    本文实例讲述了JS+DIV+CSS实现的经典标签切换效果代码.分享给大家供大家参考.具体如下: 这里演示JS+DIV+CSS实现的标签切换效果代码,通俗说就是滑动门的实现效果,很不错的实例,希望对你学习JS+CSS布局有帮助. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-div-css-bq-cha-tab-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

  • 遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)

    首先给大家展示演示效果: 基于JavaScript的网页弹出层,鼠标按在弹出层的标题栏处,可以拖动该浮动层随意移动位置,不需要时也可以关闭,操作体验舒服,兼容性好,IE/火狐等众多浏览器下运行稳定.反应快速.代码表现方面,简洁务实,不玩虚的,拿去学习也相当不错. js代码 示例一: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>弹出层并可

  • js实现div在页面拖动效果

    本文实例讲述了js实现div在页面拖动效果.分享给大家供大家参考,具体如下: <style type="text/css"> body { margin: 0px; } #div1 { display: none; position: absolute; z-index: 1000; height: 100%; width: 100%; background: #000000; filter:Alpha(opacity=30); } #div2 { display: non

  • JavaScript编写页面半透明遮罩效果的简单示例

    半透明遮罩层效果基本上都是使用插件实现的,下面为大家分享下使用原生js实现半透明遮罩效果,感兴趣的朋友可以参考下哈,希望对你熟悉原生js有所帮助 <div > <h4><span>现在注册</span><span >关闭</span></h4> <p> <label> 用户名</label> <input type="text" class="myin

随机推荐