jQuery 可以拖动的div实现代码 

2016-02-19 15:59 19 1 收藏

下面是个超简单的jQuery 可以拖动的div实现代码 教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - Web开发 】

当然,代码使用起来也非常的方便,很多东西就不用自己再去琢磨了。
研究的过程中顺便用jQuery实现了一个div的拖动,代码附于本文结尾。
实现的思路请参考我的可以拖动的DIV(二)一文。
在参考jQuery中文网站中的例子时,我发现他们在div窗口标题栏触发click事件时,将div的位置移上了一些,而mouseup的事件注册在整个div窗口上,这个思路让我很受启发,解决了鼠标移动很快而div不能跟上导致的错误,非常好的解决办法。
另外,请注意事件起泡,在jQuery以及任何实现div拖动的js代码中,事件起泡无疑都是要阻止的。
在jQuery 的bind或者unbind方法中,函数的返回值最好都用false,不信的话,可以试试true。
这个事件起泡的过程在一般代码中我们用stopPropagation方法来阻止。
注意文中加载了jquery-1.2.6.js
代码如下:
script language="javascript" type="text/javascript" src="jquery-1.2.6.js"/script
style type="text/css"
!–
body {
background-color: #333333;
}
.win{
position:absolute;
top:0px;
left:0px;
width:300px;
height:222px;
}
.title{
height:20px;
width:300px;
position:absolute;
background-color:#666666;
float:inherit;
top:0px;
left:0px;
background-image:url(bgo.gif);
}
.winCon{
height:200px;
width:298px;
position:absolute;
border:solid;
border-width:1px;
border-color:#666666;
border-top:none;
float:inherit;
left:0px;
top:20px;
}

/style
a href="#" onclick="addDiv(this,'asd');"asgfsdg/a
a href="#" id="zxca" onclick="addDiv(this,'zxc');"asgfsdg/a
script language="javascript" type="text/javascript"
function addDiv(element,str){
$(document.body).append("div class='win' id='win"+str+"‘div class='title' id='"+str+"‘/divdiv class='winCon'asfsdgfsdgsd/div/div");
$("#"+str).mousedown(function(event){
var offset = $(this).offset();
_x=event.clientX-offset.left;
_y=event.clientY+20-offset.top;
$("#win"+str).css({"top":offset.top-20+"px"});
$("#win"+str).mousemove(function(event){
_xx=event.clientX-_x;
_yy=event.clientY-_y;
this.style.left=_xx+"px";
this.style.top=_yy+"px";
this.style.zIndex="100″;
return false;
});
return false;
});
$("#win"+str).mouseup(function(){
$(this).unbind("mousemove");
$(this).css({"z-index":"-1″});
return false;
});
element.removeEventListener("click",true);
}
/script

来源:http://www.tulaoshi.com/n/20160219/1610826.html

延伸阅读
标签: Web开发
下面的代码。大家可以研究下,对于jquery的学习还是非常有好处的。 锋利的jquery中的一句话代码,实现的菜单 运行后,需要刷新下(因为是调用的外地jquery) !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html head meta http-equiv="Content-Type" content="tex...
标签: Web开发
本文的宗旨, 授人鱼不如授人渔. 我只会讲关键部分,不可能JQuery的每个函数我都讲,因为有很多函数贝壳自己在实际应用中都从未使用过. 但当我们已经会渔了还用担心鱼吗!? BTW:贝壳假设你已经掌了基本的JavaScript运用能力及基础的CSS知识. JQuery是什么 JQuery只是一个JS文件 人对新鲜事业总是报着好奇与排斥的情感,贝壳刚开始学的时...
标签: Web开发
如果你查找Jquery的API,会发现这个好象是Jquery的一个盲点,找来找去也没有明确说明用什么办法可以取到HTML标签的名字,如果直接用 $("H1").tagName 这样的方式也无法取到“H1”这样的值,好象只会得到“undifined”。 后来发现Jquery居然将tagName也视为属性之一了,有趣。 所以用 $("H1").attr("tagName") !DOCTYPE html PUBLIC "-...
标签: Web开发
经常有人询问一些技巧,因此干脆写这么一篇文章给各位jQuery爱好者,算是抛砖引玉吧。 a)样式 很多人会认为样式是个很复杂的东西,需要沉着冷静的心态加上非凡的审美观才能设计出赏心悦目的UI,抛开图片设计不说,其实css也就是那么些属性:position,margin,padding,width,height,left,top,float,border,background... UI设计的漂亮与...
标签: Web开发
打包下载 jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 jQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,d...

经验教程

564

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部