JS层移支示例代码

课程安排
LABEL {
CURSOR: hand; COLOR: lightblue; TEXT-DECORATION: underline
}

thisRegObj.maxX) nLeft=thisRegObj.maxX-nWidth;
if (nLeftthisRegObj.maxY) nTop=thisRegObj.maxY-nHeight;
if (nTop

var newObj=null;
DragObject.prototype.bind=bindToCell;

//把拖动元素绑定到单元格
function bindToCell(cell){
if (cell==null) return;
this.cell=cell;
absoluteMove(this.element,cell,(cell.offsetWidth-this.element.offsetWidth)/2,(cell.offsetHeight-this.element.offsetHeight)/2);
}

//当完成拖动后,调整位置
function finishDrag(element){
var dragObj=getRegObj(element);
if (dragObj==null) return;
//按中点来计算位置
var pt=new Point(element.offsetWidth/2,element.offsetHeight/2);
pt.clientToScreen(element);
var oldZIndex=element.style.zIndex;
element.style.zIndex=-1000;
var cell=document.elementFromPoint(pt.x-document.body.scrollLeft,pt.y-document.body.scrollTop);
//拖动是否有效
if (cell!=null){
if (cell.tagName=="TD"){
//如果放在单元格上,就进行调整
var anotherDragObj=getDragObjectByCell(cell);
if (anotherDragObj==null){
dragObj.bind(cell);
}
else{
//交换
anotherDragObj.bind(dragObj.cell);
dragObj.bind(cell);
}
}
else{
//如果不是放在单元格上,要查看是否属于DIV
var div=getParent(cell,"DIV");
if (div!=null){
var anotherDragObj=getRegObj(div);
if (anotherDragObj!=null){
//如果是另一个DragObject,就交换
var c=anotherDragObj.cell;
anotherDragObj.bind(dragObj.cell);
dragObj.bind(c);
}
else{
dragObj.bind(dragObj.cell);
}
}
else{
dragObj.bind(dragObj.cell);
}
}
}
else{
//如果不是单元格,就还原
dragObj.bind(dragObj.cell);
}
element.style.zIndex=oldZIndex;
}

待排课程


































 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

已排课程(上午)






 
 
 
 

已排课程(下午)






 
 
 
 

已排课程(晚上)






 
 
 
 

语文

newObj=registerDrag(document.all("1"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(0).cells(0));

数学

newObj=registerDrag(document.all("2"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(1).cells(0));

物理

newObj=registerDrag(document.all("3"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(2).cells(0));

化学

newObj=registerDrag(document.all("4"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(3).cells(0));

英语

newObj=registerDrag(document.all("5"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(4).cells(0));

政治

newObj=registerDrag(document.all("6"));
newObj.onDragEnd=finishDrag;
newObj.bind(document.all("LeftTable").rows(5).cells(0));

//重定位
function relocate(){
for (var i=0;i0) strAction=strAction+"&count="+lngIndex;
strAction="MainPageCenter.jsp"+strAction;
window.location.href=strAction;
}

//根据绑定的Cell来得到DragObject
function getDragObjectByCell(cell){
for (var i=0;i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • JS层移支示例代码

    课程安排 LABEL { CURSOR: hand; COLOR: lightblue; TEXT-DECORATION: underline } thisRegObj.maxX) nLeft=thisRegObj.maxX-nWidth; if (nLeftthisRegObj.maxY) nTop=thisRegObj.maxY-nHeight; if (nTop var newObj=null; DragObject.prototype.bind=bindToCell; //把拖动元素绑定

  • 动态加载、移除js/css文件的示例代码

    本文简单介绍动态加载.移除.替换js/css文件 .有时候我们在写前端的时候,会有出现需要动态加载一些东如css js 这样能减轻用户加载负担,从而提高响应效率.下面贴出代码. <script language="JavaScript"> //动态加载一个js/css文件 function loadjscssfile(filename, filetype){ if (filetype=="js"){ varfileref=document.createE

  • BootStrap中的模态框(modal,弹出层)功能示例代码

    bootstrap中的模态框(modal),不同于Tooltips,模态框以弹出对话框的形式出现,具有最小和最实用的功能集.务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 body 标签的直接子元素),以避免其他组件影响模态框的展现或功能. 默认的modal示例: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8">

  • JS中跳出循环的示例代码

    1.for循环中我们使用continue:终止本次循环计入下一个循环,使用break终止整个循环. 2.而在jquery中 $.each使用return true 终止本次循环计入下一个循环,return false终止整个循环.  函数返回值跟此处无关 例: $.extend($.fn.datagrid.methods, { isChecked: function (dg, param) { var flag = false;//是否选中 var allRows = $(dg).datagri

  • 使用Dropzone.js上传的示例代码

    本文介绍了使用Dropzone.js上传的示例代码,分享给大家,具体如下: 说明:后台用的python的flask框架,后台对你理解这篇文章没什么影响,你可以使用php form作为上传区 引入Dropzone.js和dropzone.css然后使用表单form定义一个class="dropzone"即可完成 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l

  • JQuery在页面中添加和除移DOM示例代码

    1.before():将新节点添加到前面 2.after():将节点添加到低部 3.prepend():把节点变成第一个节点 4.append():把新节点添加到末端,与appendTo()效果相同,只是语法上有差异 5.remove():除移节点 示例: 复制代码 代码如下: <ul> <li class="vacation"> <h2>Hawaiian Vac</h2> <button>Get Price</butt

  • vue.js实现表格合并示例代码

    前言 由于使用的是vue,想到MVVM是要用数据驱动的思想,所以考虑在Model做手脚,而不是渲染出数据来后做DOM操作,当然基本的CSS还是要有的.因此这个方法对所有数据驱动的框架都有效,比如说Angular和React. 最后的实现效果是这样的: 实现思路 原本的正常表格的代码长这样: <tr v-for="item in items"> <td width="3%">{{ $index + 1 }}</td> <td

  • js滚动条平滑移动示例代码

    本文实例为大家分享了js滚动条平滑移动相关代码,供大家参考,具体内容如下 html页 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="../Scripts/JavaScrip

  • 非html5实现js版弹球游戏示例代码

    开始前的html页面  开始后的html游戏界面  html页面布局,即index.html文件源码如下: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" co

  • 使用非html5实现js板连连看游戏示例代码

    向大家分享一款如何实现js版连连看游戏,如下图所示: 首先看一下html的布局方式在index.html文件中: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http

随机推荐