高分!!用js在div里创建了一个iframe,实现拖拽,用鼠标拖拽时很卡而且向下拖拽有问题,这是什么回事?
td.onmousedown=function(){//鼠标按下this.style.cursor="move";//设置鼠标样式vard=document;a=wind...
td.onmousedown = function () {//鼠标按下
this.style.cursor = "move"; //设置鼠标样式
var d = document;
a = window.event; //按下时创建一个事件
var x = a.clientX - document.body.scrollLeft - objWin.offsetLeft; //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
var y = a.clientY - document.body.scrollTop - objWin.offsetTop; //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
d.onmousemove = function () {//鼠标移动
a = window.event; //移动时创建一个事件
objWin.style.left = a.clientX + document.body.scrollLeft - x;
objWin.style.top = a.clientY + document.body.scrollTop - y;
};
d.onmouseup = function () {//鼠标放开
td.style.cursor = "normal"; //设置放开的样式
document.onmousemove = null;
document.onmouseup = null;
};
};
这是这是实现拖拽的代码 展开
this.style.cursor = "move"; //设置鼠标样式
var d = document;
a = window.event; //按下时创建一个事件
var x = a.clientX - document.body.scrollLeft - objWin.offsetLeft; //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
var y = a.clientY - document.body.scrollTop - objWin.offsetTop; //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
d.onmousemove = function () {//鼠标移动
a = window.event; //移动时创建一个事件
objWin.style.left = a.clientX + document.body.scrollLeft - x;
objWin.style.top = a.clientY + document.body.scrollTop - y;
};
d.onmouseup = function () {//鼠标放开
td.style.cursor = "normal"; //设置放开的样式
document.onmousemove = null;
document.onmouseup = null;
};
};
这是这是实现拖拽的代码 展开
2个回答
展开全部
没搞懂你objWin是什么意思,全部改成td后才能成功移动,感觉并不卡。
<div id="td"></div>
<script>
td.onmousedown = function () {//鼠标按下
this.style.cursor = "move"; //设置鼠标样式
var d = document;
a = window.event; //按下时创建一个事件
var x = a.clientX - document.body.scrollLeft - td.offsetLeft; //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
var y = a.clientY - document.body.scrollTop - td.offsetTop; //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
d.onmousemove = function () {//鼠标移动
a = window.event; //移动时创建一个事件
td.style.left = a.clientX + document.body.scrollLeft - x;
td.style.top = a.clientY + document.body.scrollTop - y;
};
d.onmouseup = function () {//鼠标放开
td.style.cursor = "normal"; //设置放开的样式
document.onmousemove = null;
document.onmouseup = null;
};
};
</script>
<div id="td"></div>
<script>
td.onmousedown = function () {//鼠标按下
this.style.cursor = "move"; //设置鼠标样式
var d = document;
a = window.event; //按下时创建一个事件
var x = a.clientX - document.body.scrollLeft - td.offsetLeft; //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
var y = a.clientY - document.body.scrollTop - td.offsetTop; //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
d.onmousemove = function () {//鼠标移动
a = window.event; //移动时创建一个事件
td.style.left = a.clientX + document.body.scrollLeft - x;
td.style.top = a.clientY + document.body.scrollTop - y;
};
d.onmouseup = function () {//鼠标放开
td.style.cursor = "normal"; //设置放开的样式
document.onmousemove = null;
document.onmouseup = null;
};
};
</script>
更多追问追答
追问
objWin 是最外的一个层。td是它里面的一个层,就是先选择td。。然后拖拽整个objWin层移动
追答
这是我做的,只是没有iframe,JS直接用的你的,没感觉任何问题,我用的是IE8
无标题文档
td.onmousedown = function () {//鼠标按下
this.style.cursor = "move"; //设置鼠标样式
var d = document;
a = window.event; //按下时创建一个事件
var x = a.clientX - document.body.scrollLeft - objWin.offsetLeft; //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
var y = a.clientY - document.body.scrollTop - objWin.offsetTop; //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
d.onmousemove = function () {//鼠标移动
a = window.event; //移动时创建一个事件
objWin.style.left = a.clientX + document.body.scrollLeft - x;
objWin.style.top = a.clientY + document.body.scrollTop - y;
};
d.onmouseup = function () {//鼠标放开
td.style.cursor = "normal"; //设置放开的样式
document.onmousemove = null;
document.onmouseup = null;
};
};
2012-11-12
展开全部
artDialog 这个插件很好用,可以试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询