导航:首页 > 编程语言 > js拖动事件

js拖动事件

发布时间:2024-05-24 17:03:52

A. jquery 或js关于鼠标单击和拖拽的区别

鼠标单击,只是一个简单的鼠标点击动作。而鼠标拖拽比鼠标单击要复杂一版点,它包含了权:鼠标点击、鼠标拖拽、鼠标弹起。

另附js拖拽效果的实现原理:
大致分为三步:
①当鼠标在模态窗体头部点下(mousedown)时,立即给document绑定mousemove和mouseup事件
②当鼠标没有弹起时(没有mouseup)时,若鼠标在窗体内移动时,激活mouseMove函数,通过计算鼠标移动的距离来及时整个窗体的位置移动。
③当鼠标弹起(mouseup)时,调用mouseUp事件,将document上绑定的mousemove事件和mouseup事件解除绑定。

B. 一个对页面节点的拖踹用原生js该如何实现

很简单 需要三个事件 onmousedown onmousemove onmouseup

并给需要拖动的节点增加一个属性叫(这个属性表示节点是不是正处于拖拽状态)下面给出一份演示

onmousedown 控制节点扩展的属性droping为true(表示可以移动节点了)

onmousemove 控制节点的位置(判断是否可以移动如果是就移动)

ommouseup控制节点的扩展属性为false(表示不能移动节点了)

<!DOCTYPEHTML>
<html>
<head>
<title>演示</title>

<styletype="text/css">
</style>
</head>
<body>
<divid="dropDiv">
我可以拖动
</div>
<scripttype="text/javascript">
functiondropDivFun(Element){
//设置节点的定位为fixed
Element.style.position="fixed";
//获取事件对象函数方便获取事件的clientX
functiongetEvent(){
if(event){
e=event;
}elseif(window.event){
e=window.event;
}else{
e=arguments.callee.arguments[0];
}
returne;
}
//添加mousedown事件
Element.addEventListener("mousedown",function(){
vare=getEvent();
if(!Element.droping){
//设置droping为true并记录初始的位置
Element.droping=true;
Element.start_x=e.clientX-Element.offsetLeft;
Element.start_y=e.clientY-Element.offsetTop;
}
});
Element.addEventListener("mousemove",function(){
vare=getEvent();
//移动节点
if(Element.droping){
Element.style.left=e.clientX-Element.start_x+"px";
Element.style.top=e.clientY-Element.start_y+"px";
}
});
Element.addEventListener("mouseup",function(){
if(Element.droping){
//设置droping为false并释放初始的变量
Element.droping=false;
Element.start_x=null;
Element.start_y=null;
}
});
}
//为节点添加drop事件
dropDivFun(document.getElementById("dropDiv"));
</script>
</body>
</html>

该演示演示了使用原生js给节点拖动

C. THREE.js如何实现在x,y,z轴上的拖拽

THREE.js实现在x,y,z轴上的拖拽需要用户注册拖拽控件。

1、注册的js代码如下:

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://raw.github.com/zz85/ThreeLabs/master/DragControls.js';
document.body.appendChild(script);
script.onload = function(){
var dragcontrols = new THREE.DragControls(camera, scene, renderer.domElement);
};

2、运行效果如下:

说明:以上每一个点都可以自由拖拽。

D. js,鼠标上下滑轮或者拉动滚动条触发事件

window.onmousewheel=function(){//触发滚轮事件

}
window.onscroll=function(){//滚动条事件

}
//其实你的问题直接使用判断滚动条应该就可以了,但是版如果一定要拖动滚动条才执行权事件,我们可以通过获取鼠标位置来模拟
vara=document.getElementsByTagName("html")[0];
window.onmousemove=function(){
//一般默认滚动条12px宽,当鼠标位于浏览器窗口右边12px内按下鼠标可以视为拖动滚动条
if(innerWidth-event.clientX<12){
a.onmousedown=function(){
console.log(1);
}
}else{
a.onmousedown=null;
}
}

E. javascript如何让表格可以拖动改变列宽度的原理

您好:
我可以很负责人的告诉你,如果你想实现拖动Table动态改变宽和高,是很麻烦的.实现原理主专要是用到了属鼠标的几个事件:mousedown() mouseup() mousemove() mouseout()等方法.
实现流程:①当鼠标指向表格的单元格的边缘时,鼠标形状变为可拖的形状,
②鼠标在表格竖线上按下的时候,获得点击事件源所在的列,拖动的时候js动态改变td的width值来改变度,松开鼠标保存
③鼠标在表格横线上按下的时候,获得点击事件所在的行,拖动的时候js动态改变tr的height,松开鼠标保存.

希望帮到你吧.

F. js中如何拖动DIV中的图片

代码放出来看抄看

是不是冒袭泡和捕获的问题
试试简单的,看看点击图片时 div上的onclick事件有没有被触发

// 看起来是使用 jquery ,代码贴完整些吧,
this.mousedown(function(){
中this是指向什么对象都没看出来

//加一个 return false
//另外 event.offsetX 并不兼容 firefox

$(document).mousemove(function(){
if(movestart){
$("#id1").css("left",event.clientX-x1+"px");
$("#id1").css("top",event.clientY-y1+"px");
return false;
}

})

阅读全文

与js拖动事件相关的资料

热点内容
系统软件处理数据有哪些好处 浏览:706
flash数据库动态开发专业教程下载 浏览:874
u盘文件被锁怎么消除 浏览:39
前三季度gdp数据广东什么时候公布 浏览:726
ug导出stp文件后显示 浏览:262
struts2文件上传例子 浏览:480
智能粉碎文件名 浏览:625
编程是干什么的适合几岁儿童上 浏览:412
photoshop中文版最新版本 浏览:828
什么app能点播广西卫视 浏览:338
word如何批量放入相应的文件夹 浏览:884
如何在excel一列删除数据 浏览:534
商科学生为什么学编程 浏览:438
压缩文件记录 浏览:967
网上招聘找工作去哪个网站 浏览:276
ps生成文件怎么打开 浏览:631
文档过期文件如何找回 浏览:968
daf是什么文件 浏览:851
云闪付可以适用于哪些app 浏览:210
jsp循环输出44的表格 浏览:772

友情链接