基于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 相关文章推荐
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
原生JS实现不断变化的标签
May 22 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
Sep 11 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
JS数组方法reverse()用法实例分析
Jan 18 Javascript
js实现无缝轮播图效果
Mar 09 Javascript
js实现随机抽奖
Mar 19 Javascript
原生js实现放大镜组件
Jan 22 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 Javascript
JS实现九宫格拼图游戏
Jun 28 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
angular动态表单制作
2018/02/23 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
在python中安装basemap的教程
2018/09/20 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
土木工程专业自荐信
2013/10/04 职场文书
中国央视网签名寄语
2014/01/18 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
男性健康日的活动方案
2014/08/18 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis