table鼠标移动拖动点击排序
来源:互联网 发布:怎么加盟农村淘宝 编辑:程序博客网 时间:2024/05/05 21:01
实现表格的hover效果 点击效果 拖动排序,原生态jq效果,简单易用,不多说了,直接上代码
<!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><script type="text/javascript" src="jquery-1.8.3.js"></script><style type="text/css">.tr-hover { background-color: #CCC; }.tr-selected { background-color: #666; } .tr-border { border: solid 1px #F00; } </style> </head> <body> <table width="500" border="1" cellpadding="0" cellspacing="0" id="table"> <thead> <tr> <th>序号</th> <th>姓名</th> <th>性别</th> <th>网址</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Lupo</td> <td> <select name=""> <option value="1">男</option> <option value="0">女</option> </select> </td> <td><input type="text" value="http://bbs.it-home.org" /></td> </tr> <tr> <td>2</td> <td>andy</td> <td> <select name=""> <option value="1">男</option> <option value="0">女</option> </select> </td> <td><input type="text" value="http://bbs.it-home.org" /></td> </tr> <tr> <td>3</td> <td>lilian</td> <td> <select name=""> <option value="1">男</option> <option value="0">女</option> </select> </td> <td><input type="text" value="http://bbs.it-home.org" /></td> </tr> <tr> <td>4</td> <td>jinker</td> <td> <select name=""> <option value="1">男</option> <option value="0">女</option> </select> </td> <td><input type="text" value="http://bbs.it-home.org" /></td> </tr> </tbody></table><script type="text/javascript">/***表格插件 实现表格的hover效果 点击效果 拖动排序*@encode UTF-8*@param {boolen} hover 是否打开hover效果 true|false*@param {boolen} selected 是否打开selected效果 true|false*@param {boolen} rowMove 是否打开移动排序效果 true|false*@example: $("#table").initTable({ hover:true, selected:false, rowDrag:true, rowMove:true }) 表格需包含thead,tbody2部分*/(function ($) { $.fn.extend({ initTable:function (o) { //接受配置参数并设定默认值 var it = this, hover = o.hover||false, selected = o.selected||false, rowDrag = o.rowDrag||false; rowMove =rowDrag?true:(o.rowMove||true), tbody = $(it).children("tbody"), tr = $(it).children("tbody").children("tr"); //添加事件前先移除对象所有的事件 it.undelegate(); //tr的鼠标移动效果 if (hover) { tbody.delegate("tr", "mouseenter", function () { $(this).addClass("tr-hover"); }).delegate("tr", "mouseleave", function () { $(this).removeClass("tr-hover"); }) } //tr的选中效果 if (selected) { tbody.delegate("tr","click",function(e){ if(e.target.tagName.toLowerCase()=="td"){ tbody.children(".tr-selected").removeClass('tr-selected'); $(this).addClass('tr-selected'); } }) } //表格行的移动效果 if(rowMove){ var targetEl,mouseDown=false; tbody.delegate("tr", "mousedown", function(e){ //只对td对象触发 if(e.target.tagName.toLowerCase() === "td"){ //按下鼠标时选取行 targetEl = this,mouseDown = true; console.log(this); $(this).css("cursor","move"); return false; } }).delegate("tr", "mousemove", function(e){ //移动鼠标 if (mouseDown) { //释放鼠标键时进行插入 if (targetEl != this) { if ($(this).index()>$(targetEl).index()){ $($(this)).after(targetEl); } else { $($(this)).before(targetEl); } } } return false; }).delegate("tr", "mouseup", function (e) { $(tr).css("cursor","default"); targetEl = null; }) //鼠标离开表格时,释放所有事件 it.delegate("tbody", "mouseleave", function (e) { $(tr).css("cursor","default"); targetEl = null; mouseDown = false; }) } } })})(jQuery)$("#table").initTable({ hover:true, selected:true, rowMove:true})</script></body></html>
源码打包下载地址:http://bbs.it-home.org/thread-3001-1-1.html 文章转载自程序员之家web频道
0 0
- table鼠标移动拖动点击排序
- jquery 鼠标拖动排序Li或Table
- 鼠标针对物体的绝对拖动,点击物体移动~
- 鼠标拖动层移动
- 鼠标拖动层移动
- 鼠标拖动层移动
- 鼠标拖动div移动
- 拖动table,li排序
- table拖动行排序
- 鼠标点击按钮拖动窗体
- 用鼠标拖动图片移动
- 鼠标拖动(移动、拖曳)控件
- unity 鼠标拖动物体移动
- 用鼠标拖动图片移动
- 鼠标移动/点击事件
- UGUI鼠标点击移动
- 鼠标点击移动
- 捕捉鼠标拖动和鼠标移动事件
- 桎梏的开始03
- Linked List Cycle II 链表环的入口
- Tomcat Context docBase指定的目录层次不能超过2层
- primary key与unique的区别
- 数据结构实验之链表七:单链表中重复元素的删除
- table鼠标移动拖动点击排序
- C++ code completion
- 搬寝室
- 桎梏的开始03
- java异常处理机制
- Reorder List 重排链表
- Schema和DTD之间的那些事儿
- 846 - Steps
- 【资料】Maximum Bipartite Matching