基于jquery实现的鼠标拖拽元素复制并写入效果


Posted in Javascript onAugust 23, 2011

直接上代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>鼠标拖拽复制效果</title> 
<style> 
body{ line-height:150% } 
.show{ display:block} 
.hide{ display:none} 
.clone{position: absolute; border:1px solid #666; background-color:#CCCCCC;} 
.over{ border:1px solid #666;} 
#left{ float:left; width:200px; border:1px solid #666;} 
#left li.selected{ background-color:#CCCCCC} 
#right{ margin-left:220px; border:1px solid #666;} 
</style> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script> 
$(function(){ 
$("#left li").click(function(e) { 
var index=$(this).index(); 
$("#left li").removeClass("selected"); 
$(this).addClass("selected"); 
$("#right ul").removeClass('show'); 
$("#right ul").addClass('hide'); 
$("#right ul").eq(index).removeClass('hide'); 
$("#right ul").eq(index).addClass('show'); 
}); 
$("#left ul li").mousemove(function(e) { 
if($(this).attr('class')!='selected'&&$(".clone").length>0) 
{ 
$(this).addClass('over'); 
} 
}); 
$("#left ul li").mouseout(function(e) { 
if($(this).attr('class')!='selected') 
{ 
$(this).removeClass('over'); 
} 
}); 
$("#left ul li").mouseup(function(e) { 
if($(this).attr('class')!='selected'&&$(".clone").length>0) 
{ 
var index=$(this).index(); 
//$("#right ul").eq(index).prepend($(".clone")); 
$(".clone").appendTo($("#right ul").eq(index)); 
$(".clone").attr('class',''); 
} 
}); 
$("#right ul li").mousedown(function(e) {//鼠标按下,鼠标变移动标志,克隆元素,并确定新克隆元素位置 
$(this).clone().addClass("clone").appendTo($("body")); 
$("body").css('cursor','move'); 
$(".clone").css('left',e.clientX+1); 
$(".clone").css('top',e.clientY+1); 
}); 
$(document).mousemove(function(e){ 
if($(".clone").length>0) 
{ 
$(".clone").css('left',e.clientX+1); 
$(".clone").css('top',e.clientY+1); 
} 
}); 
$(document).mouseup(function(e){ 
$(".clone").remove(); 
$("body").css('cursor','auto'); 
}); 
}); 
</script> 
</head> 
<body> 
<div id="left"> 
<ul> 
<li class="selected">组一</li> 
<li>组2</li> 
<li>组3</li> 
</ul> 
</div> 
<div id="right"> 
<ul class="show"> 
<li>1姓名一</li> 
<li>1姓名2</li> 
<li>1姓名3</li> 
<li>1姓名4</li> 
<li>1姓名5</li> 
<li>1姓名6</li> 
</ul> 
<ul class="hide"> 
<li>2姓名一</li> 
<li>2姓名2</li> 
<li>2姓名3</li> 
<li>2姓名4</li> 
<li>2姓名5</li> 
<li>2姓名6</li> 
</ul> 
<ul class="hide"> 
<li>3姓名一</li> 
<li>3姓名2</li> 
<li>3姓名3</li> 
<li>3姓名4</li> 
<li>3姓名5</li> 
<li>3姓名6</li> 
</ul> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
javascript 时间比较实现代码
Oct 28 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
JavaScript中的Primitive对象封装介绍
Dec 31 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
vue项目base64字符串转图片的实现代码
Jul 13 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
javascript代码简写的几种常用方式汇总
Aug 23 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 #Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
Aug 20 #Javascript
jQuery最佳实践完整篇
Aug 20 #Javascript
jQuery的deferred对象使用详解
Aug 20 #Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 #Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 #Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
Aug 15 #Javascript
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
深入理解Django自定义信号(signals)
2018/10/15 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python创建n行m列数组示例
2019/12/02 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
教师正风肃纪剖析材料
2014/10/20 职场文书
销售员自我评价
2015/03/11 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS
golang操作rocketmq的示例代码
2022/04/06 Golang
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server